landinglanding 2012-09-08 18:36:00
点我顶贴
收藏
删除
var a:array[0..51,0..51] of boolean;
b:array[0..51,0..51] of longint;
d,p:array[0..51] of longint;
n,m,i,j,k,l,max,sum:longint;
ch:char;
procedure dfs(x,y:longint);
begin
if a[x,y] then
begin
max:=max+1;
a[x,y]:=false;
dfs(x+1,y);
dfs(x-1,y);
dfs(x,y+1);
dfs(x,y-1);
end;
end;
begin
readln(n,m);
for i:=1 to n do
begin
for j:=1 to m do
begin
read(ch);
if ch='#' then a[i,j]:=false;
if ch='R' then
begin
a[i,j]:=true;
inc(l);
d[l]:=i;
p[l]:=j;
end;
if ch='.' then a[i,j]:=true;
end;
end;
readln;
max:=0;
for k:=1 to l do dfs(d[l],p[l]);
writeln(max);
end.
为毛只得了10分?