p1921.pas
来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· PAS 代码 · 共 66 行
PAS
66 行
PROGRAM P1921;
type TTT = array[0..101,0..101] of char;
CONST
change:array[1..4,1..2]of integer=((0,-1),(0,1),(1,0),(-1,0));
VAR
m,n :integer;
k,step :integer;
i,j :integer;
c :integer;
map :TTT;
FUNCTION win(p,q,r,s:integer):boolean;
var a,b :char;
begin
a:=map[p,q];b:=map[r,s];
win:=false;
if (a='R')and(b='S') then win:=true else
if (a='S')and(b='P') then win:=true else
if (a='P')and(b='R') then win:=true;
end;
PROCEDURE make;
var copy :TTT;
i,j,t :Integer;
c :integer;
begin
copy:=map;
for c:=1 to step do
begin
for i:=1 to m do
for j:=1 to n do
for t:=1 to 4 do
begin
if win(i,j,i+change[t,1],j+change[t,2]) then
begin
copy[i+change[t,1],j+change[t,2]]:=map[i,j];
end;
end;
map:=copy;
end;
for i:=1 to m do
begin
for j:=1 to n do
write(map[i,j]);
writeln;
end;
end;
BEGIN
readln(k);
for c:=1 to k do
begin
readln(m,n,step);
for I:=1 to m do
begin
for j:=1 to n do
read(map[i,j]);
readln;
end;
make;
if ( c < k ) then writeln;
end;
END.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?