题解

158 条题解

  • 0
    @ 2009-08-02 00:45:52

    那位帮忙告知一下为什么用链表报“存取非法”?

    自己做能过

    提交一个都过不了

  • 0
    @ 2009-08-01 00:34:16

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    line74,very WS!

  • 0
    @ 2009-07-31 14:05:26

    写了个111行的程序。。。累

    其中3个排序直接copy的

  • 0
    @ 2009-07-28 20:26:42

    var

    max,xh,yw:array[1..1000] of integer;

    l,s,s1,s2,s3,i,j,x,y,t,n:integer;

    procedure q(l,r:integer);

    var

    i,j,m:integer;

    begin

    i:=l;j:=r;m:=max[l];

    repeat

    while max[i]>m do inc(i);

    while max[j]

  • 0
    @ 2009-07-28 19:32:17

    var

    n,i,j,t:longint;

    a,a1,a2,a3,a4:array[0..10000] of longint;

    begin

    readln(n);

    for i:=1 to n do

    begin

    readln(a1[i],a2[i],a3[i]);

    a[i]:=a1[i]+a2[i]+a3[i];

    a4[i]:=i;

    end;

    for i:=1 to n-1 do

    for j:=i+1 to n do

    if a[i]

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

    #include

    using namespace std;

    int n;

    struct grade

    {

    int num,chi,mat,eng,sum;

    }g[ 10000 ];

    int fn(int m , int n)

    {

    int t = m , x = g[ n ].sum;

    for(int i = m ; i < n ; i++)

    if(g[ i ].sum > g[ n ].sum)

    {

    swap(g[ t ],g[ i ]);

    t++;

    }

    else if(g[ i ].sum == g[ n ].sum && g[ i ].chi>g[ n ].chi )

    {

    swap(g[ t ],g[ i ]);

    t++;

    }

    else if(g[ i ].sum == g[ n ].sum && g[ i ].chi==g[ n ].chi && g[ i ].num> n;

    for(int i = 0 ; i < n ; i++)

    {

    g[ i ].num = i+1;

    cin >> g[ i ].chi >> g[ i ].mat >> g[ i ].eng;

    g[ i ].sum = g[ i ].chi + g[ i ].mat + g[ i ].eng;

    }

    qsort(0 , n-1);

    for(int i = 0 ; i < 5 ; i++)

    {

    cout

  • 0
    @ 2009-07-27 21:02:33

    /*每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。

    输出共有5行,每行是两个用空格隔开的正整数,依次表示前5名学生的学号和总分。 */

    #include

    using namespace std;

    class student{ //定义学生类

    private:

    int math;

    int Enghlish;

    public:

    int Chinese;

    int number;

    int score;

    void input(int i){

    number=i;

    cin>>Chinese>>math>>Enghlish;} //输入

    void zongf(){ //计算总分

    score=Chinese+math+Enghlish;}

    };

    void copy(student *p,student q) //复制类的成员

    {

    p->number=q->number;

    p->score=q->score;

    }

    //***|\
    **|\**|\**|\**|\**|\**|\**|\*排序\**|\**|\**|\**|\**|\**|\**|**

    int Partition(student *a,int l,int h)

    {

    int i=l,j=h;

    int x;

    copy(a,a+i);

    x=a[i].score;

    while(i

  • 0
    @ 2009-07-23 18:17:49

    var

    d,a,b,c:array[0..1000] of integer;

    t,max,n,i,j,x,y,z:integer;

    begin

    readln(n);

    for i:=1 to n do

    begin

    readln(x,y,z);

    a[i]:=x+y+z;b[i]:=x;c[i]:=i;

    end;

    for i:=1 to n-1 do

    begin

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

    for j:=i+1 to n do

    begin

    if a[j]>max then begin max:=a[j];t:=j;end;

    if a[j]=max then if b[j]>b[t] then begin max:=a[j];t:=j;end

    else if b[t]=b[j] then if c[t]>c[j] then begin max:=a[j];t:=j;end;

    end;

    if ti then begin a[i]:=a[i]+a[t];a[t]:=a[i]-a[t];a[i]:=a[i]-a[t];

    c[i]:=c[i]+c[t];c[t]:=c[i]-c[t];c[i]:=c[i]-c[t]; end;

    end;

    for i:=1 to 5 do

    writeln(c[i],' ',a[i]);

    end.

    直接换位,很简单

  • 0
    @ 2009-07-27 15:01:46

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var n,c,b,d,tmp,tmp2,cou,co,f,g:integer;

    a:array[1..10000,1..5] of integer;

    tag:array[1..10000] of integer;

    e:boolean;

    procedure huan(tmp,tmp2:integer);

    var b,c:integer;

    begin

    for b:=1 to 5 do

    begin

    c:=a[tmp,b];

    a[tmp,b]:=a[tmp2,b];

    a[tmp2,b]:=C;

    end;

    end;

    procedure qsort(l,r,num:integer);

    var p,k,il,ir,m:integer;

    begin

    il:=l;

    ir:=r;

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

    while il

  • 0
    @ 2009-07-21 20:16:50

    var

    n,i,j,k:longint;

    f:array [0..5,1..3] of longint;

    begin

    readln(n);

    for i:=1 to n do

    begin

    readln(f[0,1],f[0,2],f[0,3]);

    f[0,2]:=f[0,1]+f[0,2]+f[0,3];

    for j:=1 to 5 do

    begin

    if (f[0,2]>f[j,2]) or ((f[0,2]=f[j,2]) and (f[0,1]>f[j,1])) then

    begin

    for k:=5 downto j+1 do

    begin

    f[k,1]:=f[k-1,1];

    f[k,2]:=f[k-1,2];

    f[k,3]:=f[k-1,3];

    end;

    f[j,1]:=f[0,1];

    f[j,2]:=f[0,2];

    f[j,3]:=i;

    break;

    end

    else

    if (f[0,2]=f[j,2]) and (f[0,1]=f[j,1]) then

    begin

    for k:=5 downto j+2 do

    begin

    f[k,1]:=f[k-1,1];

    f[k,2]:=f[k-1,2];

    f[k,3]:=f[k-1,3];

    end;

    f[j+1,1]:=f[0,1];

    f[j+1,2]:=f[0,2];

    f[j+1,3]:=i;

    break;

    end;

    end;

    end;

    if n

  • 0
    @ 2009-07-21 20:01:10

    var

    a,b,c,d,e:array[1..1000] of integer;

    n,i,j,t:longint;

    begin

    read(n);

    for i:=1 to n do

    begin

    read(b[i],c[i],d[i]);

    a[i]:=b[i]+c[i]+d[i];

    e[i]:=i;

    end;

    for i:=1 to n do

    for j:=1 to n-i do

    begin

    if a[j]

  • 0
    @ 2009-07-21 10:48:35

    进制方法可以简化代码,连排序都不用...

  • 0
    @ 2009-07-19 18:56:43

    program jxj;

    var

    n,x,y,z,i,j:integer;

    a:array[1..300,1..3] of integer;

    procedure swap(var a,b:integer);

    var

    s:integer;

    begin

    s:=a;

    a:=b;

    b:=s;

    end;

    begin

    readln(n);

    for i:=1 to n do

    begin

    readln(x,y,z);

    a:=i;

    a:=x;

    a:=x+y+z;

    end;

    for i:=1 to n-1 do

    for j:=i+1 to n do

    if (a

  • 0
    @ 2009-07-24 17:46:31

    program ex1;

    var a:array[1..10000,1..5]of longint;

    n,i,j,t:integer;

    begin

    readln(n);

    for i:=1 to n do

    begin

    readln(a,a,a);

    a:=a+a+a;

    a:=i;

    end;

    for i:=1 to n-1 do

    begin

    for j:=i+1 to n do

    begin

    if(a

  • 0
    @ 2009-07-17 16:23:09

    编译通过...

    ├ 测试数据 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-16 10:55:55

    为什么会超时啊

    type date=record

    zong:integer;

    yu:integer;

    ying:integer;

    shu:integer;

    hao:integer;

    end;

    var a:array[1..101] of date;

    b:date;

    i,j,n:integer;

    begin

    readln(n);

    for i:=1 to n do begin readln(a[i].yu,a[i].shu,a[i].ying); a[i].hao:=i; a[i].zong:=a[i].yu+a[i].ying+a[i].shu; end;

    for i:=1 to n-1 do

    for j:=i+1 to n do

    begin

    if (a[i].zong

  • 0
    @ 2009-07-15 16:36:59

    var

    n,x,y,z,i,j:integer;

    a:array[1..300,1..3] of integer;

    procedure swap(var a,b:integer);

    var

    s:integer;

    begin

    s:=a;

    a:=b;

    b:=s;

    end;

    begin

    readln(n);

    for i:=1 to n do

    begin

    readln(x,y,z);

    a:=i;

    a:=x;

    a:=x+y+z;

    end;

    for i:=1 to n-1 do

    for j:=i+1 to n do

    if (a

  • 0
    @ 2009-07-12 14:04:35

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var i,j,k,l,t,n:longint; x,d,a,b,c:array[0..1000]of longint;

    begin

    readln(n);

    for i:=1 to n do

    begin

    x[i]:=i;

    readln(a[i],b[i],c[i]);

    d[i]:=a[i]+b[i]+c[i];

    end;

    for i:=1 to n-1 do

    for j:=i+1 to n do

    if d[i]

  • 0
    @ 2009-07-09 15:53:32

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    type

    stu=record

    chi:integer;

    mat:integer;

    eng: integer;

    zon:integer;

    num:integer;

    end;

    var

    a:array[1..1000]of stu; i,j,n:integer;

    procedure swap(var a,b:stu);

    var t:stu;

    begin

    t:=a;a:=b;b:=t;

    end;

    begin

    readln ( n );

    for i := 1 to n do readln(a[i].chi,a[i].mat,a[i].eng);

    for i := 1 to n do a[i].zon:=a[i].chi+a[i].mat+a[i].eng;

    for i := 1 to n do a[i].num:=i;

    for i:=1 to n-1 do

    for j:=i+1 to n do

    begin

    if a[i].zon

  • 0
    @ 2009-07-09 15:51:57

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    type

    stu=record

    chi:integer;

    mat:integer;

    eng: integer;

    zon:integer;

    num:integer;

    end;

    var

    a:array[1..1000]of stu; i,j,n:integer;

    procedure swap(var a,b:stu);

    var t:stu;

    begin

    t:=a;a:=b;b:=t;

    end;

    begin

    readln ( n );

    for i := 1 to n do readln(a[i].chi,a[i].mat,a[i].eng);

    for i := 1 to n do a[i].zon:=a[i].chi+a[i].mat+a[i].eng;

    for i := 1 to n do a[i].num:=i;

    for i:=1 to n-1 do

    for j:=i+1 to n do

    begin

    if a[i].zon

信息

ID
1398
难度
4
分类
其他 | 排序 点击显示
标签
递交数
6456
已通过
2669
通过率
41%
被复制
22
上传者