P1454 圣诞夜的极光

一年过去了,在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写起来也是挺方便的

只是我懒…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值