runround.pas
来自「Magio牛的usaco源代码」· PAS 代码 · 共 77 行
PAS
77 行
{
ID:maigoak1
PROG:runround
}
program runround;
var
fin,fout:text;
d,i:integer;
s:array[1..9]of integer;
c:char;
procedure test;
var
i,t:integer;
v:array[1..9]of boolean;
begin
fillchar(v,sizeof(v),0);
t:=1;
for i:=1 to d do begin
t:=(t+s[t]) mod d;
if t=0 then t:=d;
if v[t] then exit;
v[t]:=true;
end;
assign(fout,'runround.out');
rewrite(fout);
for i:=1 to d do
write(fout,s[i]);
writeln(fout);
close(fout);
halt;
end;
procedure search(l:integer);
function conflict:boolean;
var
i:integer;
begin
for i:=1 to l-1 do
if s[l]=s[i] then begin
conflict:=true;
exit;
end;
conflict:=false;
end;
begin
while s[l]<9 do begin
inc(s[l]);
while conflict do begin
if s[l]=9 then exit;
inc(s[l]);
if l<d then s[l+1]:=0;
end;
if l=d then test else search(l+1);
if l<d then s[l+1]:=0;
end;
end;
begin
assign(fin,'runround.in');
reset(fin);
d:=0;
repeat
read(fin,c);
if c<'0' then break;
inc(d);
s[d]:=ord(c)-49;
until false;
inc(s[d]);
close(fin);
search(1);
while d<9 do begin
inc(d);
fillchar(s,sizeof(s),0);
search(1);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?