78 条题解
-
0song19931218 LV 9 @ 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了三次 -
02009-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:此题好水.....不过正好增长自信.... -
02009-10-02 12:19:23@
小心全是0
-
02009-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
beginif 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] -
02009-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] -
02009-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. -
02009-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. -
02009-07-28 06:23:55@
要考虑好输出下列集中特殊状况!
-x^2+x-5
-5x
1
....... -
02009-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 有效耗时:0msvar 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 -
02009-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] -
02009-07-17 13:56:00@
话说很难出现
这么好这么强大这么不需要什么算法的题目了
终于便宜我 AC了105道了 (≧▽≦)/ -
02009-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...... -
02009-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 -
02009-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. -
02009-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 有效耗时:0msMMD!!!
-
02009-04-06 12:49:41@
水题竟敢鄙视我的智商!
36行AC -
02009-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])
elsebegin
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 -
02009-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 有效耗时:0msvar 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.哪位大牛帮忙看看
-
02009-02-06 16:12:42@
我是第777个AC的哈`小小地庆祝一下啊
-
02009-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
!!!