题解

163 条题解

  • 0
    @ 2009-07-27 19:17:04

    同样的程序,puppy第10点超时,dragon秒杀...

    浪费我一次

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    type apt=array[1..100000] of longint;

    ttt=array[1..100000,1..3] of longint;

    ttt2=array[1..3] of longint;

    var ap:apt;

    tt:ttt;

    n,m,a,b,p:longint;

    function next(p:longint):longint;

    begin

    if p=m then exit(1)

    else exit(p+1);

    end;

    procedure huan(var a,b:ttt2);

    var c,d:longint;

    begin

    for c:=1 to 3 do

    begin

    d:=a[c];

    a[c]:=b[c];

    b[c]:=d;

    end;

    end;

    procedure huan(var a,b:longint);

    var c:longint;

    begin

    c:=a;

    a:=b;

    b:=c;

    end;

    procedure qsort(var a:apt;l,r:longint);

    var il,ir,m:longint;

    begin

    il:=l;

    ir:=r;

    m:=a[(il+ir)div 2];

    while ilm do inc(il);

    while a[ir]

  • 0
    @ 2009-07-23 18:05:16

    我是写错快排的沙茶....囧T············Z

    ---|---|---|---|---|---|---|---|---|-

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2009-07-23 18:02:28

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    我是沙茶,快排写错了》。。。

  • 0
    @ 2009-07-22 14:17:23

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    program das;

    var n,m,i,j:longint;

    num,a,w,b:array[1..100000] of longint;

    procedure qs1(l,r:longint);

    var i,j,x,y:longint;

    begin

    i:=l;j:=r;x:=w[(l+r) div 2];

    repeat

    while w[i]>x do inc(i);

    while w[j]

  • 0
    @ 2009-07-20 13:03:06

    No.1

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:运行超时|格式错误...

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Unaccepted 有效得分:90 有效耗时:0ms

    No.2

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:运行超时|无输出...

    ---|---|---|---|---|---|---|---|-

    Unaccepted 有效得分:90 有效耗时:0ms

    不行了,看题解。。。发现数据有误,要100万,改了,A了

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    就是两个快排。。。

  • 0
    @ 2009-07-18 22:42:58

    这破水题害我挖了3次。。。

    还好秒了。。。

  • 0
    @ 2009-07-16 17:14:06

    第六组数据是什么啊? 总是第六个出错

  • 0
    @ 2009-07-16 11:49:50

    两快排,没了,N简单.

    做不出来的是SB

  • 0
    @ 2009-07-15 18:34:28

    楼下的,是三个,可以省下很多的步骤和时间,一次性全部0ms通关

    顺便,为啥我写的100000一点问题也没有?

    [code]

    #include

    #include

    #include

    typedef struct{

    unsigned long weight;

    unsigned long long got;

    int num;

    }TAOTAO;

    unsigned long m,n,i,j,apple[100000];

    TAOTAO taotao[100000];

    int comp(const void* a,const void* b){

    return (unsigned long*)b-*(unsigned long)a;

    }

    int compweight(const void* a,const void* b){

    return ((TAOTAO*)b)->weight-((TAOTAO*)a)->weight;

    }

    int compnum(const void* a,const void* b){

    return ((TAOTAO*)a)->num-((TAOTAO*)b)->num;

    }

    int main(){

    scanf("%ld%ld",&n,&m);

    for(;i

  • 0
    @ 2009-07-14 09:46:13

    两个快排

  • 0
    @ 2009-06-07 14:20:45

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    type rzh=record

    num:longint;

    px:longint;

    dx:longint;

    end;

    var

    n,m,i,j:longint;

    a,c:array[1..100000]of longint;

    b:array[1..100000]of rzh;

    procedure quicksort1(l,r:longint);

    var

    i,j,x,y:longint;

    begin

    i:=l;j:=r;x:=a[(i+j) div 2];

    repeat

    while a[i]>x do inc(i);

    while a[j]

  • 0
    @ 2009-05-15 21:56:25

    var

    ans,d:array[1..100000] of longint;

    t:array[1..2,1..100000] of longint;

    j,n,m,i,h:longint;

    procedure qsort1(i,j:longint);

    var l,r,tmp,mid:longint;

    begin

    l:=i;

    r:=j;

    mid:=d[(i+j) div 2];

    repeat

    while d[i]mid do

    dec(j);

    if ij;

    if l

  • 0
    @ 2009-02-20 20:05:16

    y打成z也能过两个点!

    题目真牛

    害我2次AC

  • 0
    @ 2009-02-04 12:06:09

    type

    rec=record

         w:longint;

         ans:longint;

         num:longint;

         end;

    var

    tao:array[1..100000]of rec;

    tu:rec;

    n,m,i,j,t:longint;

    apple:array[1..100000]of longint;

    begin

    readln(n,m);

    for i:=1 to n do read(apple[i]);readln;

    for i:=1 to m do begin read(tao[i].w);tao[i].ans:=0;tao[i].num:=i;end;

    for i:=1 to n do

      for j:=n downto i do

       if apple[i]

  • 0
    @ 2009-01-26 20:57:01

    编译通过...├ 测试数据 01:答案正确... 0ms├ 测试数据 02:答案正确... 0ms├ 测试数据 03:答案正确... 0ms├ 测试数据 04:答案正确... 0ms├ 测试数据 05:答案正确... 0ms├ 测试数据 06:答案正确... 0ms├ 测试数据 07:答案正确... 0ms├ 测试数据 08:答案正确... 0ms├ 测试数据 09:答案正确... 0ms├ 测试数据 10:答案正确... 0ms-------------------------Accepted 有效得分:100 有效耗时:0ms

    2*快排 秒杀

  • 0
    @ 2009-01-11 22:09:55

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    Water

  • 0
    @ 2008-12-20 17:50:00

    水!阴人题,数据范围明明是1..100000

    program p1445;

    type

    arr=record

    num,weight:longint;

    end;

    var

    a:array[1..100000] of arr;

    apple:array[1..100000] of longint;

    sum:array[1..100000] of longint;

    i,j,n,m:longint;

    procedure swapapple(var x,y:longint);

    var

    temp:longint;

    begin

    temp:=x;

    x:=y;

    y:=temp;

    end;

    procedure qsortapple(l,r:longint);

    var

    i,j,x:longint;

    begin

    i:=l;

    j:=r;

    x:=apple[(i+j) div 2];

    repeat

    while apple[i]>x do inc(i);

    while apple[j]

  • 0
    @ 2008-12-13 10:32:18

    囧……没开longint就90了……我的AC率……!

    {——————————————————————}

    计数排序加贪心——>AC

    {——————————————————————}

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    var

    h:array[0..maxint]of longint;

    a,b,t,d:array[0..100000]of longint;

    n,m,x,i,j,max,maxt:longint;

    begin

    read(n,m);

    for i:=1 to n do

    begin

    read(x);

    inc(h[x]);

    if x>maxt then maxt:=x;

    end;

    for i:=1 to m do

    begin

    read(a[i]);

    inc(t[a[i]]);

    if a[i]>max then max:=a[i];

    end;

    for i:=max-1 downto 1 do t[i]:=t+t[i];

    for i:=1 to m do

    begin

    d[i]:=t[a[i]];

    dec(t[a[i]]);

    end;

    i:=maxt;

    j:=1;

    while i>0 do

    begin

    inc(b[j],i);

    dec(h[i]);

    j:=(j+1) mod m;

    if j=0 then j:=m;

    while h[i]=0 do dec(i);

    end;

    for i:=1 to m do

    write(b[d[i]],' ');

    end.

    Flag    Accepted

    题号   P1445

    类型(?)   模拟

    通过   942人

    提交   2679次

    通过率   35%

    难度   1

    提交 讨论 题解

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Unaccepted 有效得分:90 有效耗时:0ms

    var

    h:array[0..maxint]of integer;

    a,b,t,d:array[0..100000]of integer;

    n,m,x,i,j,max,maxt:longint;

    begin

    read(n,m);

    for i:=1 to n do

    begin

    read(x);

    inc(h[x]);

    if x>maxt then maxt:=x;

    end;

    for i:=1 to m do

    begin

    read(a[i]);

    inc(t[a[i]]);

    if a[i]>max then max:=a[i];

    end;

    for i:=max-1 downto 1 do t[i]:=t+t[i];

    for i:=1 to m do

    begin

    d[i]:=t[a[i]];

    dec(t[a[i]]);

    end;

    i:=maxt;

    j:=1;

    while i>0 do

    begin

    inc(b[j],i);

    dec(h[i]);

    j:=(j+1) mod m;

    if j=0 then j:=m;

    while h[i]=0 do dec(i);

    end;

    for i:=1 to m do

    write(b[d[i]],' ');

    end.

    Flag    Unaccepted

    题号   P1445

    类型(?)   模拟

    通过   941人

    提交   2678次

    通过率   35%

    难度   1

    提交 讨论 题解

  • 0
    @ 2008-12-06 21:45:19

    这题目有点叙述不清,弄得我搞了很久才明白它的意思!(╰_╯)#

    原来苹果是要全部摘完,可以由陶陶摘若干轮。

  • 0
    @ 2008-12-04 11:09:18

    AC100~

    在VI的第一题是陶陶摘苹果,

    在VI的第100题是陶陶抢苹果

    苹果命哦~

信息

ID
1445
难度
5
分类
模拟 点击显示
标签
递交数
2844
已通过
879
通过率
31%
被复制
6
上传者