📄 runround.pas
字号:
{
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -