题目:入门
状态: Unaccepted
测评机: Xeond[6]
得分: 10分
提交日期: 2010-6-12 18:07:00
有效耗时: 47毫秒
测试结果1: 测试结果错误.错误结果为:64
正确结果应为:23
测试结果2: 测试结果错误.错误结果为:125
正确结果应为:185
测试结果3: 测试结果错误.错误结果为:30
正确结果应为:16
测试结果4: 通过本测试点|有效耗时47ms
测试结果5: 测试结果错误.错误结果为:18
正确结果应为:31
测试结果6: 测试结果错误.错误结果为:14
正确结果应为:52
测试结果7: 测试结果错误.错误结果为:39
正确结果应为:133
测试结果8: 测试结果错误.错误结果为:83
正确结果应为:130
测试结果9: 测试结果错误.错误结果为:24
正确结果应为:13
测试结果10: 测试结果错误.错误结果为:98
正确结果应为:73
program xxx;
var b,c:array [0..21,0..21]of boolean;
a:array[1..20] of string[20];
i,j,x,y,n,m:integer;
procedure find(m,n:integer);
begin
if c[m,n] then exit;
c[m,n]:=true;
if (a[m][n]in['.','@']) then begin b[m,n]:=true;end;
if m>1 then find(m-1,n);
if m<x then find(m+1,n);
if n>1 then find(m,n-1);
if n<x then find(m,n+1);
end;
begin
readln(x,y);
fillchar(b,sizeof(b),false);
for i:=1 to x do
begin readln(a[i]);n:=pos('@',a[i]);
if n>0 then begin b[i,n]:=true;m:=i;end;
end;
find(m,n);
n:=0;
for i:=1 to x do
for j:=1 to y do
if b[i,j] then inc(n);
writeln(n);
end.