📄 clocks.pas
字号:
{
ID:maigoak1
PROG:clocks
}
program clocks;
const
move:array[1..9]of integer=(432,448,216,292,186,73,54,7,27);
var
fin,fout:text;
clock,c,s:array[1..9]of integer;
i,j:integer;
best:string;
procedure turn(m,t:integer);
var
x,i:integer;
begin
x:=move[m];
for i:=9 downto 1 do begin
if odd(x) then begin
c[i]:=c[i]+3*t;
if c[i]>12 then c[i]:=c[i]-12;
end;
x:=x div 2;
end;
end;
procedure search(l:integer);
var
i,j,k:integer;
flag:boolean;
way:string;
begin
for i:=0 to 3 do begin
s[l]:=i;
if l<9 then search(l+1) else begin
c:=clock;
for j:=1 to 9 do
turn(j,s[j]);
flag:=true;
for j:=1 to 9 do
if c[j]<12 then begin
flag:=false;
break;
end;
if flag then begin
way:='';
for j:=1 to 9 do
for k:=1 to s[j] do
way:=way+chr(48+j);
if best='no' then
best:=way
else if length(way)<length(best) then
best:=way
else if (length(way)=length(best)) and (way<best) then
best:=way;
end;
end;
end;
end;
begin
assign(fin,'clocks.in');
reset(fin);
for i:=1 to 9 do
read(fin,clock[i]);
close(fin);
best:='no';
search(1);
assign(fout,'clocks.out');
rewrite(fout);
for i:=1 to length(best)-1 do
write(fout,copy(best,i,1),' ');
writeln(fout,copy(best,length(best),1));
close(fout);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -