社区讨论

求助,为何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 条回复,欢迎继续交流。

正在加载回复...