比赛 |
暑假培训B班二测 |
评测结果 |
AAAAAAAA |
题目名称 |
劣质的草 |
最终得分 |
100 |
用户昵称 |
hjr1995 |
运行时间 |
0.126 s |
代码语言 |
Pascal |
内存使用 |
3.99 MiB |
提交时间 |
2012-07-22 11:11:26 |
显示代码纯文本
var
c,r,i,j,s:longint;
a:array[0..1001,0..1001] of longint;
procedure dfs(x,y:longint);
begin
if a[x,y]<>-1 then
begin
a[x,y]:=-1;
if a[x+1,y]<>0 then dfs(x+1,y);
if a[x-1,y]<>0 then dfs(x-1,y);
if a[x,y+1]<>0 then dfs(x,y+1);
if a[x,y-1]<>0 then dfs(x,y-1);
if a[x+1,y+1]<>0 then dfs(x+1,y+1);
if a[x-1,y+1]<>0 then dfs(x-1,y+1);
if a[x+1,y-1]<>0 then dfs(x+1,y-1);
if a[x-1,y-1]<>0 then dfs(x-1,y-1);
end;
end;
begin
assign(input,'badgras.in');reset(input);
assign(output,'badgras.out');rewrite(output);
fillchar(a,sizeof(a),0); s:=0;
readln(r,c);
for j:=1 to r do
begin
for i:=1 to c do
read(a[i,j]);
readln;
end;
for i:=1 to c do
for j:=1 to r do
if (a[i,j]<>0) and (a[i,j]<>-1) then
begin
dfs(i,j);
inc(s);
end;
writeln(s);
close(input);close(output);
end.