记录编号 |
14700 |
评测结果 |
AAAAAAAAAAA |
题目名称 |
[USACO Oct09] 乳草的入侵 |
最终得分 |
100 |
用户昵称 |
Hamster |
是否通过 |
通过 |
代码语言 |
Pascal |
运行时间 |
0.075 s |
提交时间 |
2009-11-03 15:03:16 |
内存使用 |
0.12 MiB |
显示代码纯文本
program milkweed;
var
i,j,x,y,xx,yy,p,time:integer;
a:array[0..101,0..101]of char;
begin
assign(input,'milkweed.in');
assign(output,'milkweed.out');
reset(input);
rewrite(output);
readln(x,y,xx,yy);
yy:=y-yy+1;
for i:=0 to 101 do
for j:=0 to 101 do
a[i,j]:='*';
for i:=1 to y do
begin
for j:=1 to x do
read(a[i,j]);
readln;
end;
a[yy,xx]:='m';
time:=0;
while true do
begin
p:=0;
time:=time+1;
for i:=1 to y do
for j:=1 to x do
begin
if a[i,j]='m' then begin
if a[i-1,j]='.' then begin
a[i-1,j]:='x';
p:=1;
end;
if a[i-1,j-1]='.' then begin
a[i-1,j-1]:='x';
p:=1;
end;
if a[i-1,j+1]='.' then begin
a[i-1,j+1]:='x';
p:=1;
end;
if a[i+1,j]='.' then begin
a[i+1,j]:='x';
p:=1;
end;
if a[i+1,j-1]='.' then begin
a[i+1,j-1]:='x';
p:=1;
end;
if a[i+1,j+1]='.' then begin
a[i+1,j+1]:='x';
p:=1;
end;
if a[i,j-1]='.' then begin
a[i,j-1]:='x';
p:=1;
end;
if a[i,j+1]='.' then begin
a[i,j+1]:='x';
p:=1;
end;
end;
end;
for i:=1 to y do
for j:=1 to x do
if a[i,j]='x' then a[i,j]:='m';
if p=0 then break;
end;
p:=0;
for i:=1 to y do
for j:=1 to x do
if a[i,j]='.' then p:=1;
if p=1 then writeln(-1) else writeln(time-1);
close(input);
close(output);
end.