惨啊,只得了75分。第二个测试不对。

var a:array[1..1000] of byte;

ch,len,i,j,k,time,tf,n,m:longint;

st:string;

begin

readln(n);

readln(st);

len:=length(st);

for i:=1 to len do a[i]:=ord(st[len-i+1])-48;

for i:=1 to 31 do begin

time:=0;

j:=0;

k:=len+1;

repeat

inc(j);

k:=k-1;

if (a[j]a[k]) then inc(time);

if (jk) then begin

ch:=a[j];

a[j]:=a[j]+a[k];

a[k]:=a[k]+ch;

end

else a[j]:=a[j]*2;

until (k-j=1) or (k=j);

if (time=0) then begin

writeln('STEP=',i-1);

tf:=1;

break;

end

else begin

for k:=1 to len do

if (a[k]>n-1) then begin

a[k+1]:=a[k] div n+a[k+1];

a[k]:=a[k] mod n;

end;

if a[len+1]>0 then inc(len);

end;

end;

if (tf=0) then writeln('Impossible!');

end.

3 条评论

  • @ 2009-10-06 14:08:56

    第二组数据:

    16

    AC27

    有十六进制~~当初我也错得莫名其妙,现在知道了

  • @ 2009-08-03 14:59:51

    还会有5分!!!

  • @ 2009-08-03 13:56:29

    第二个不对,想要第二个测试数据。

    编译通过...

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

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

     ├ 错误行输出

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

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

  • 1

信息

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