题解

136 条题解

  • -1
    @ 2009-10-19 20:04:13

    我挺讨厌这个题的

    编译通过...

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

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

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

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

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

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

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

    const filename='p1257';

    var

    a,s:array[1..1000]of ansistring;

    l:array[1..1000]of longint;

    n,i,j,ll:longint;

    ss,aa:ansistring;

    function check:longint;

    var i1,l1,l2,ll:longint;

    begin

    if l[i]>l[j] then exit(2);

    if l[i]

  • -1
    @ 2009-10-14 08:36:04

    快排比较的时候

    主要关键字设定成高精度比较

    次要关键字设定成字符比较

    编译通过...

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

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

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

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

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

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

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

  • -1
    @ 2009-10-07 16:15:27

    #include

    #include

    #include

    int N;

    struct node

    {

    char ID[50];

    char sum[10010];

    } po[10010];

    void init()

    {

    scanf("%d",&N);

    for(int i=1;isum),k2=strlen(n2->sum);

    if(k1k2)

    return -1;

    else if(k1==k2)

    {

    k=strcmp(n2->sum,n1->sum);

    if(k==0)

    return strcmp(n1->ID,n2->ID);

    else

    return k;

    }

    }

    int main()

    {

    init();

    qsort(po+1,N,sizeof(po[0]),cmp);

    for(int i=1;i

  • -1
    @ 2009-10-06 20:37:45

    var

    i,j,n:integer;

    a:array[1..1000]of string[21];

    b:array[1..1000]of ansistring;

    s:string;

    ss:ansistring;

    function pd(x,y:integer):boolean;

    var

    i:integer;

    begin

    if length(b[x])length(b[y]) then exit(false);

    if b[x]b[y] then exit(false);

    if a[x]a[y] then exit(true);

    end;

    begin

    readln(n);

    for i:=1 to n do

    begin

    readln(a[i]);

    readln(b[i]);

    end;

    for i:=1 to n-1 do

    for j:=i+1 to n do

    if pd(i,j) then

    begin

    s:=a[i];a[i]:=a[j];a[j]:=s;

    ss:=b[i];b[i]:=b[j];b[j]:=ss;

    end;

    for i:=1 to n do writeln(a[i]);

    end.

  • -1
    @ 2009-10-03 14:56:51

    编译通过...

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

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

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

    ├ 测试数据 04:答案错误...程序输出比正确答案长

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

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

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

    why?why?why?why?why?why?why?why?why?why?

    看题解,原来自己那么愚蠢。字符串直接比较就是字典序。我还傻乎乎地自己写了五六十行代码。

    先简化程序……

    编译通过...

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

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

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

    ├ 测试数据 04:运行时错误...|错误号: 216

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

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

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

    why?why?why?why?why?why?why?why?why?why?

    怎么变成运行时错误了?不过就是写了3个快排而已呀。

    扩数组……

    编译通过...

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

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

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

    ├ 测试数据 04:运行时错误...|错误号: 216

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

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

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

    why?why?why?why?why?why?why?why?why?why?

    My god!

  • -1
    @ 2009-10-01 19:21:40

    快排竟然写错3次,没rp到这种程度!

  • -1
    @ 2009-09-23 20:07:22

    写了个快排上百行排错了,后来一气之下写了几十行的冒泡一次A掉。。

  • -1
    @ 2009-08-15 15:41:13

    我以我WA一次的血淋淋的惨痛教训极负责地告诉大家:

    1、先对“水王”的发帖数进行排序(先比长度,再就直接用大于号排)2、千万不要先对各位的ID排序,否则就603、不要担心时间不够,原始的冒泡也能0ms

    忠告就3条,题目也非常水,可为什么通过率只有25%?(苦苦思索中········)

    (好孩子别往下看···)

    源代码:

    program p1257;

    var

    n,i,j:integer;

    a:array[1..1000]of string[21];

    b:array[1..1000]of ansistring;

    t:ansistring;

    begin

    readln(n);

    for i:=1 to n do

    begin

    readln(a[i]);

    readln(b[i]);

    end;

    for i:=1 to n do

    for j:=i+1 to n do

    if length(b[i])

  • -1
    @ 2009-08-04 16:22:18

    编译通过...

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

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

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

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

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

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

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

    看了半天觉得没错,不可能超时啊。。。。。

    后来发现评测机没错,还真是没输出。。。。。

    ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..

    ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..

    ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..

    ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..

    ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..

    ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..

    ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..

    ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..ORZ..

    来个集体朝拜图。。

  • -1
    @ 2009-08-03 15:25:46

    要用ANSISTRING,

    无语。。。。

  • -1
    @ 2009-07-20 12:05:13

    真的好水。。。

    比水王還水

  • -1
    @ 2009-07-17 11:37:53

    编译通过...

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

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

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

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

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

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

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

    秒了 o(≧v≦)o~~

    真的秒了??

    我只用了选择排序(有可能叫冒泡排序,我也不知道哪个是哪个 ⊙﹏⊙b汗)

    提交的时候认为 很大可能要超时

    没想到 0ms (#‵′)

    人生啊啊啊啊

    为什么通过率25% ( ⊙o⊙ )?

  • -1
    @ 2009-07-09 14:47:51

    这么水的题!!!

  • -1
    @ 2009-07-11 20:57:59

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

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

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

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

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

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

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

    被水淹了……

  • -1
    @ 2009-05-23 04:50:51

    编译通过...

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

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

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

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

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

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

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

    #include "stdio.h"

    #include "string.h"

    struct stu

    {

    char id[21],sum[1000];

    int len,len2;

    }x[1001];

    void work(int h,int r)

    {

    int i=h,j=h*2;

    struct stu t=x[h];

    while(j0)

    j++;

    else if(x[j].len==x[j+1].len&&strcmp(x[j].sum,x[j+1].sum)==0&&strcmp(x[j].id,x[j+1].id)x[j].len)

    {

    x[i]=x[j];

    i=j;

    j=i*2;

    }

    else if(t.len==x[j].len&&strcmp(t.sum,x[j].sum)>0)

    {

    x[i]=x[j];

    i=j;

    j=i*2;

    }

    else if(t.len==x[j].len&&strcmp(t.sum,x[j].sum)==0&&strcmp(t.id,x[j].id)=1;i--)

    work(i,n);

    for(i=n;i>1;i--)

    {

    t=x[i];

    x[i]=x[1];

    x[1]=t;

    work(1,i-1);

    }

    }

    int main()

    {

    int i,n;

    scanf("%d",&n);

    for(i=1;i

  • -2
    @ 2012-08-03 11:09:58

    点击查看代码及思路

信息

ID
1257
难度
6
分类
其他 | 排序 点击显示
标签
(无)
递交数
4117
已通过
1161
通过率
28%
被复制
3
上传者