计蒜客:C10 第四部分:深度优先搜索基础 踏青

 【C++代码】 

     

#include<bits/stdc++.h>
using namespace std;
int n,m,ans=0;
char maze[110][110];
bool vis[110][110];
int dir[4][2]={{-1, 0}, {1, 0}, {0, -1}, {0, 1}};
bool check(int x,int y){
    return x>=1&&y>=1&&x<=n&&y<=m&&!vis[x][y]&&maze[x][y]=='#';
}
void dfs(int x,int y){
    vis[x][y]=true;
    for(int i=0;i<4;i++){
        int tx=x+dir[i][0];
        int ty=y+dir[i][1];
        if(check(tx,ty)){
            dfs(tx,ty);
        }
    }
}
int main(){
    freopen("hiking.in","r",stdin);
    freopen("hiking.out","w",stdout);
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>maze[i][j];
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(maze[i][j]=='#'&&!vis[i][j]){
                dfs(i,j);
                ans++;
            }
        }
    }
    cout<<ans;
    return 0;
}

                                                                                                            

相关推荐

  1. C++中的深度优先搜索算法

    2024-06-11 10:38:02       31 阅读
  2. 深度优先搜索算法C实现

    2024-06-11 10:38:02       14 阅读
  3. c语言深度优先搜索 (Depth-First Search,DFS)

    2024-06-11 10:38:02       37 阅读
  4. c语言算法之深度优先搜索(n皇后问题)

    2024-06-11 10:38:02       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-11 10:38:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-11 10:38:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-11 10:38:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-11 10:38:02       18 阅读

热门阅读

  1. 云计算 目录

    2024-06-11 10:38:02       9 阅读
  2. React@16.x(22)HOOK,useState 的原理

    2024-06-11 10:38:02       13 阅读
  3. 【Redis】Redis的数据淘汰策略有哪些

    2024-06-11 10:38:02       10 阅读
  4. SQL的执行顺序

    2024-06-11 10:38:02       7 阅读
  5. Web前端与PHP:深度解析与未来展望

    2024-06-11 10:38:02       11 阅读
  6. 特别名词Test Paper3

    2024-06-11 10:38:02       9 阅读
  7. 微信小程序真机调试连不上

    2024-06-11 10:38:02       7 阅读
  8. MATLAB 论文绘图规范标注

    2024-06-11 10:38:02       11 阅读
  9. 模块间通信

    2024-06-11 10:38:02       7 阅读