Oil Deposits
来源:互联网 发布:域名模糊查询 编辑:程序博客网 时间:2024/06/06 07:20
紫书上面的例题
一个关于油田联通块的问题,书上用的是递归的dfs搜索,悄悄记录一下
* * * * @
* @ @ * @
* @ * * @
@ @ @ * @
@ @ * * @
#include<cstdio>#include<cstring>const int maxn = 100 + 5;char pic[maxn][maxn];int m, n, idx[maxn][maxn];void dfs(int r,int c,int id){if(r < 0 || r >=m || c<0 ||c>=n)return;if(idx[r][c]>0 ||pic[r][c]!='@')return ;idx[r][c] = id;for(int dr = -1; dr <= 1;dr++)//关于下一个寻找的方向{for(int dc =-1; dc <= 1; dc++){if(dr!=0 || dc!=0){dfs(r+dr,c+dc,id);}}}}int main(){while(scanf("%d%d",&m,&n) == 2 && m && n){for(int i = 0;i<m;i++)scanf("%s",pic[i]);memset(idx,0,sizeof(idx));int cnt = 0;for(int i = 0; i < m;i++){for(int j = 0;j <n;j++){if(idx[i][j]==0 && pic[i][j] == '@')dfs(i,j,++cnt);}}printf("%d\n",cnt);}return 0;}还有一种记录方向的方法,代码如下;
int dir[8][2] = {{-1,0},{-1,1},{0,1},{1,1}, { 1,0},{1,-1},{0,-1},{-1,-1}};
阅读全文
0 0
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- Oil Deposits
- oil deposits
- Oil Deposits
- Oil Deposits
- echarts-基本实例、常见参数配置
- dao层和service层的同时存在的意义
- Vue 2.x 如何利用proxyTable实现跨域请求(反向代理)
- c#书写中遇到的一些错误和注意点
- 关于牛客刷题笔记
- Oil Deposits
- Java学习 --- 继承
- JAVA中的线程池-Executor框架
- [PAT乙级]1059. C语言竞赛(20)
- 数据库学习笔记触发器和常用函数
- ssh复习资料
- golang program exceeds 10000-thread limit
- Android使用ApachePOI组件读写Worddoc和docx文件
- 扩展C#中对话框