社区讨论
求助,为何WA了第二个点(有数据的话请不要吝啬)
P1015[NOIP 1999 普及组] 回文数参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi6lfp76
- 此快照首次捕获于
- 2025/11/20 06:48 4 个月前
- 此快照最后确认于
- 2025/11/20 06:48 4 个月前
CPP
var
jz,k:longint;
a,b:array[1..1000] of integer;
procedure plus;
var
i:longint;
begin
fillchar(b,sizeof(b),0);
for i:=1 to k do
begin
b[i]:=b[i]+a[i]+a[k-i+1];
b[i+1]:=b[i] div jz;
b[i]:=b[i] mod jz;
end;
while(b[k+1]>0)do begin inc(k); a[k+1]:=a[k] div jz; a[k]:=a[k] mod jz; end;
for i:=1 to k do
a[i]:=b[i];
end;
function hw:boolean;
var
i:longint;
begin
for i:=1 to (k div 2) do
if(a[i]<>a[k-i+1]) then exit(false);
exit(true);
end;
var
i:longint;
s:string;
begin
readln(jz);
readln(s);
k:=length(s);
for i:=1 to k do
a[k-i+1]:=ord(s[i])-48;
for i:=1 to 30 do
begin
plus;
if hw then begin writeln('STEP=',i); exit; end;
end;
writeln('Impossible!');
end.
**江湖救急**
回复
共 2 条回复,欢迎继续交流。
正在加载回复...