spin.pas
来自「Magio牛的usaco源代码」· PAS 代码 · 共 64 行
PAS
64 行
{
ID:maigoak1
PROG:spin
}
program spin;
const
wheels=5;
var
fin,fout:text;
wheel,bak:array[1..wheels,0..359]of boolean;
{True if there's a wedge}
omega:array[1..wheels]of byte;
n,x,y,time,i,j,k:integer;
procedure check;
var
i,j:integer;
ok:boolean;
begin
for i:=0 to 359 do begin
ok:=true;
for j:=1 to 5 do
ok:=ok and wheel[j,i];
if ok then begin
writeln(fout,time);
close(fout);
halt;
end;
end;
end;
procedure rotate;
var
i,j:integer;
begin
bak:=wheel;
for i:=1 to 5 do
for j:=0 to 359 do
wheel[i,j]:=bak[i,(j+360-omega[i]) mod 360];
end;
begin
fillchar(wheel,sizeof(wheel),0);
assign(fin,'spin.in');
reset(fin);
for i:=1 to wheels do begin
read(fin,omega[i],n);
for j:=1 to n do begin
read(fin,x,y);
for k:=x to x+y do
wheel[i,k mod 360]:=true;
end;
end;
close(fin);
assign(fout,'spin.out');
rewrite(fout);
for time:=0 to 359 do begin
check;
rotate;
end;
writeln(fout,'none');
close(fout);
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?