一年过去了,在luogu呆了快一年了QAQ,发现写的题解大多是搜索,主要还是bfsQAQ,那么还是以一篇DFS 好奇怪 结束这一年吧…
这题真的是水… 多的也不说了就是类似洪水吧
var i,j,k:longint;
m,n:longint;
ans:longint=0;//储存答案
a:array[-1..2000,-1..2000]of boolean;
ch:char;
procedure dfs(x,y:longint);//深度优先搜索
var i,j:longint;
begin
if not a[x,y] then exit;//如果当前这格不是星星或搜过了就退出
a[x,y]:=false;//记录为走过
for i:=-2 to 2 do
for j:=-2 to 2 do
if abs(i)+abs(j)<3 {判断距离是否符合要求} then dfs(x+i,y+j);
end;
begin
readln(m,n);
for i:=1 to m do
begin
for j:=1 to n do
begin
read(ch);
if ch='#' then a[i,j]:=true;
end;
readln;
end;
for i:=1 to m do
for j:=1 to n do
if a[i,j] then
begin
inc(ans);//ans++
dfs(i,j);
end;
write(ans);//输出
end.
dfs的模板呀QAQ,没有什么可以讲得,其实bfs写起来也是挺方便的
只是我懒…