题解

78 条题解

  • 0
    @ 2009-10-10 09:20:00

    其他数据还好,要注意对于

    0 0 0 0 0 0 0 1 0

    0 0 0 0 0 0 0 -1 0

    0 0 0 0 0 0 0 6 0

    这些情况的特判,因为1x^1这种这种写法是不合法的

    害我WA了三次

  • 0
    @ 2009-10-08 21:57:47

    写的太丑了 42行 我都不好意思发题解了

    只是想发几组自己出的数据 都过了基本可以了

    0 0 0 0 0 0 0 0 0

    0 -12 0 -14 0 13 0 -11 12

    -1 -2 -3 -4 -5 -6 -7 -8 -9

    0 -1 3 -5 0 -8 9 11 0

    0 0 0 0 0 0 0 0 -7

    0 0 0 -6 0 0 0 0 0

    这些都过了基本就差不多了

    P.S:此题好水.....不过正好增长自信....

  • 0
    @ 2009-10-02 12:19:23

    小心全是0

  • 0
    @ 2009-09-17 13:08:02

    强大的if

    var i,j,n,m,k,l,o,p:longint;

    a:array[1..9] of longint;

    begin

    for i:=1 to 9 do

    read(a[i]);

    n:=1;

    while a[n]=0 do

    n:=n+1;

    if a[n]>0 then begin

    if a[n]=1 then write('x^',8-n+1,' ')

    else write(a[n],'x^',8-n+1);

    end;

    if a[n]1 do

    begin

    if a[n]>0 then begin

    if a[n]=1 then write('+',' ','x^',k,' ')

    else write('+',' ',a[n],'x^',k,' ');

    k:=k-1;

    n:=n+1;

    end;

    if a[n]0 then begin

    if a[8]=1 then write('+',' ','x',' ')

    else write('+',' ',a[8],'x',' ');

    end;

    if a[8]0 then begin

    if a[9]=1 then write('+',' ','1')

    else write('+',' ',a[9]);

    end;

    if a[9]

  • 0
    @ 2009-08-13 10:00:58

    var

    st:string;

    i,j,k,xs2,step:longint;

    xs1:array[1..9]of longint;

    xs,xis:array[1..9]of string;

    procedure init;

    begin

    step:=0;

    for i:=1 to 8 do

    begin

    xis[i]:='';

    read(xs2);

    if xs20

    then begin

    inc(step);

    xs1[step]:=xs2;

    str(xs2,xs[i]);

    str(9-i,st);

    if xs1[step]=1

    then begin

    if st='1'

    then xis[step]:='x + '

    else xis[step]:='x^'+st+' + ';

    end

    else begin

    if st='1'

    then xis[step]:=xs[i]+'x + '

    else xis[step]:=xs[i]+'x^'+st+' + ';

    end;

    end;

    end;

    inc(step);

    read(xs1[9]);

    str(xs1[9],xs[9]);

    xis[step]:=xs[9];

    xs1[step]:=xs1[9];

    end;

    procedure cl1;

    begin

    if xs1[1]=-1

    then delete(xis[1],2,1);

    end;

    procedure cl(j:longint);

    begin

    if xs1[j]=-1

    then delete(xis[j],2,1);

    if xs1[j]

  • 0
    @ 2009-08-09 14:03:44

    var

    i,x:longint;

    s,ans:string;

    begin

    for i:=8 downto 0 do

    begin

    read(x);

    str(x,s); ans:=ans+'+'+s+'x^';

    str(i,s); ans:=ans+s;

    end;

    delete(ans,length(ans)-2,3);

    repeat

    i:=pos('0x^',ans);

    if i0 then delete(ans,i-1,5);

    until i=0;

    i:=pos('x^1',ans);if i0 then delete(ans,i+1,2);

    repeat

    i:=pos('+1x^',ans);

    if i0 then delete(ans,i+1,1);

    until i=0;

    repeat

    i:=pos('-1x^',ans);

    if i0 then delete(ans,i+1,1);

    until i=0;

    i:=pos('+1x',ans);if i0 then delete(ans,i+1,1);

    i:=pos('-1x',ans);if i0 then delete(ans,i+1,1);

    delete(ans,1,1);

    repeat

    i:=pos('+-',ans);

    if i0 then delete(ans,i,1);

    until i=0;

    i:=pos('+0',ans);if i0 then delete(ans,i,2);

    write(ans[1]);

    for i:=2 to length(ans) do

    case ans[i] of

    '+': write(' + ');

    '-': write(' - ');

    else write(ans[i]);

    end;

    writeln;

    end.

  • 0
    @ 2009-08-06 10:31:44

    {开头的‘-’后面没有空格啊 害的我交了两次}

    program leo;

    var

    i,x:longint;

    s,ans:string;

    begin

    for i:=8 downto 0 do

    begin

    read(x);

    str(x,s); ans:=ans+'+'+s+'x^';

    str(i,s); ans:=ans+s;

    end;

    delete(ans,length(ans)-2,3);

    repeat

    i:=pos('0x^',ans);

    if i0 then delete(ans,i-1,5);

    until i=0;

    i:=pos('x^1',ans);if i0 then delete(ans,i+1,2);

    repeat

    i:=pos('+1x^',ans);

    if i0 then delete(ans,i+1,1);

    until i=0;

    repeat

    i:=pos('-1x^',ans);

    if i0 then delete(ans,i+1,1);

    until i=0;

    i:=pos('+1x',ans);if i0 then delete(ans,i+1,1);

    i:=pos('-1x',ans);if i0 then delete(ans,i+1,1);

    delete(ans,1,1);

    repeat

    i:=pos('+-',ans);

    if i0 then delete(ans,i,1);

    until i=0;

    i:=pos('+0',ans);if i0 then delete(ans,i,2);

    write(ans[1]);

    for i:=2 to length(ans) do

    case ans[i] of

    '+': write(' + ');

    '-': write(' - ');

    else write(ans[i]);

    end;

    writeln;

    end.

  • 0
    @ 2009-07-28 06:23:55

    要考虑好输出下列集中特殊状况!

    -x^2+x-5

    -5x

    1

    .......

  • 0
    @ 2009-07-27 14:50:17

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var a:array[0..8] of integer;

    b,l:integer;

    procedure output(a,b:integer);

    begin

    if (a=0)and(b0) then exit;

    if (a=0)and(l=0) then

    begin

    write(a);

    exit;

    end;

    if (a=0)and(b=0)and(l0) then exit;

    if l0 then

    if a

  • 0
    @ 2009-07-21 14:40:42

    #include

    int main()

    {

    int a[9],i,flag=1;

    for(i=8;i>=0;i--)

    scanf("%d",a+i);

    for(i=8;i>=0;i--)

    if(a[i]!=0)break;

    if(i==-1)

    {printf("0\n");

    return 0;

    }

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

    {

    if(a[i]==0)continue;

    if(flag)

    {if(a[i]==1)

    printf("x^%d",i);

    else if(a[i]==-1)

    printf("-x^%d",i);

    else printf("%dx^%d",a[i],i);

    flag=0;continue;

    }

    if(a[i]==1)

    printf(" + x^%d",i);

    else if(a[i]==-1)

    printf(" - x^%d",i);

    else if(a[i]

  • 0
    @ 2009-07-17 13:56:00

    话说很难出现

    这么好这么强大这么不需要什么算法的题目了

    终于便宜我 AC了105道了 (≧▽≦)/

  • 0
    @ 2009-05-28 22:52:15

    program dxs;

    var a:array[1..9]of longint;

    i,c,k:longint;

    begin

    for i:=1 to 9 do

    read(a[i]);

    for i:=1 to 9 do

    if a[i]0 then

    begin

    inc(c);

    if (a[i]>0)and(c>1) then write(' + ');

    if (a[i]1) then write(' - ');

    if (a[i]0) then write(a[i]);

    if k>1 then write('x^',k);

    if k=1 then write('x');

    if k=0 then write(a[i]);

    end;

    k:=1;

    for i:=1 to 9 do

    if a[i]0 then k:=2;

    if k=1 then write(0);

    writeln;

    end.

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠靠~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    据统计,本人与此题血战了3个小时。。。。。却是因为一个低级错误。。。。。。。血泪啊。。。。。。。。- -!!

    自我反省ing......

  • 0
    @ 2009-05-24 02:19:40

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    #include "stdio.h"

    #include "math.h"

    int main()

    {

    int a[10];

    int i,j;

    for(i=1;i

  • 0
    @ 2009-04-19 20:11:55

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    觉得写的挺简洁的

    大牛可以无视掉

    1次AC~~

    var a:array[1..9] of longint;

    i,j:longint;

    begin

    for i:=1 to 9 do

    read(a[i]);

    for i:=1 to 8 do

    begin

    if a[i]=0 then continue;

    if (a[i]>0) and (j=-1) then write(' + ');

    if (a[i]0) and (i1) and (j=-1)then write(' + ',a[i]);

    if (a[i]=0) then write(a[i]);

    end.

  • 0
    @ 2009-04-19 08:53:58

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    MMD!!!

  • 0
    @ 2009-04-06 12:49:41

    水题竟敢鄙视我的智商!

    36行AC

  • 0
    @ 2009-04-04 22:10:07

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var a:array[0..8] of longint;

    i,j:longint;

    p:boolean;

    begin

    for i:=8 downto 0 do

    read(a[i]);

    i:=8;

    while (i>0) and (a[i]=0) do dec(i);

    if i=0 then write(a[0])

    else

    begin

    if i1 then begin

    if (a[i]1) then if a[i]=-1 then write('-') else write(a[i]);write('x^');write(i);

    for j:=i-1 downto 2 do

    if a[j]0 then begin

    if a[j]>0 then write ('+')else write ('-');a[j]:=abs(a[j]);

    if (a[j]1) then write(a[j]);

    write('x^');

    write(j)

    end;

    end;

    if a[1]0 then begin if i1 then if a[1]>0 then write ('+')else write('-'); if a[1]1 then a[1]:=abs(a[1]);

    if (a[1]1) then write(a[1]); write('x');end;

    if a[0]0 then begin if a[0]>0 then write ('+');write(a[0]);end;

    end;

    end.

    小心0 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 1

    0 0 0 0 0 0 0 0 1 0

  • 0
    @ 2009-03-18 13:55:44

    编译通过...

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

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

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

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

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

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

    ├ 测试数据 07:运行时错误...| 错误号: 216 | 存取非法

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

    ├ 测试数据 09:运行时错误...| 错误号: 216 | 存取非法

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

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

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

    var i,j,j1,j2,u:integer;

    a:array[0..10] of int64;

    begin

    read(a[8]);

    read(a[7]);

    read(a[6]);

    read(a[5]);

    read(a[4]);

    read(a[3]);

    read(a[2]);

    read(a[1]);

    read(a[0]);

    j:=8;

    while a[j]=0 do j:=j-1;

    j2:=j;

    for i:=0 to 8 do begin

    if a[i]=0 then u:=u+1;

    end;

    while (u9) do begin

    u:=9;

    repeat

    j1:=0;

    while a[j]=0 do j:=j-1;

    while (j2=j)and (j11) do begin

    j1:=1;

    if a[j]=1 then write ('x','^',j);

    if a[j]=-1 then write ('-','x','^',j);

    if (a[j]0) and (a[j]1) then write (a[j],'x','^',j);

    end;

    j1:=0;

    while (j=2)and (j11) do begin

    j1:=1;

    if a[j]=1 then write ('+','x','^',j);

    if a[j]=-1 then write ('-','x','^',j);

    if (a[j]0) and (a[j]1) then write ('+',a[j],'x','^',j);

    end;

    j1:=0;

    while (j=1)and(a[1]0) and (j1=0) do begin

    j1:=1;

    if a[1]=1 then write ('+','x');

    if a[1]=-1 then write ('-','x');

    if a[1]1 then write ('+',a[1],'x');

    end;

    j1:=0;

    while (j=0)and(a[0]0) and (j1=0) do begin

    j1:=1;

    if a[0]0 then write('+',a[0]);

    end;

    j:=j-1;

    until j=-1;

    end;

    end.

    哪位大牛帮忙看看

  • 0
    @ 2009-02-06 16:12:42

    我是第777个AC的哈`小小地庆祝一下啊

  • 0
    @ 2009-02-03 15:14:08

    (9) :0 0 0 0 0 0 0 1 0

    (10):0 0 0 0 0 0 0 0 1

    !!!

信息

ID
1258
难度
6
分类
字符串 | 表达式处理 点击显示
标签
递交数
1966
已通过
552
通过率
28%
被复制
3
上传者