查找细胞
来源:互联网 发布:萍乡教育网网络管理 编辑:程序博客网 时间:2024/04/30 04:49
AC代码如下:#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn=100+10; char a[maxn][maxn]; int d[maxn][maxn]; int coun=0; int n,m; void dfs(int row,int col,int id) { if(row<0 || row>=n || col<0 || col>=m) return; if(a[row][col]=='0' || d[row][col]!=0) return; d[row][col]=id; for(int i=-1;i<=1;i++) for(int j=-1;j<=1;j++) { if((i==0||j==0 ) && i+row>=0 && i+row<n && j+col>=0 && j+col<m && a[i+row][j+col]!='0' && d[i+row][j+col]==0) dfs(i+row,j+col,++coun); } } int main() { int sum; while(scanf("%d%d",&n,&m)!=EOF) { sum=0; memset(d,0,sizeof(d)); for(int i=0;i<n;i++) for(int j=0;j<m;j++) cin>>a[i][j]; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { coun=0; if(a[i][j]!='0' && d[i][j]==0) { dfs(i,j,++coun); sum++; } } } printf("%d\n",sum); } return 0; }
题目描述
一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。
输入描述
第一行输入n,m;表示n行m列矩阵。
接下来输入该n*m矩阵
输出描述
细胞个数
输入样例
4 100234500067103456050020456006710000000089
输出样例
4
提示
来源or类型
注:此题应用了DFS的方法来求解;
阅读全文
0 0
- 查找细胞
- 查找细胞
- 问题 H: 查找细胞
- 细胞
- 细胞
- 细胞
- 湖北民族学院oj 1777(DFS) 之 查找细胞
- 文学细胞
- 艺术细胞
- 细胞自动机
- 细胞工作室
- 细胞个数
- QUSTOJ1230:细胞
- 细胞分割
- 细胞数量
- 细胞问题
- 细胞问题
- OpenCV-识别细胞图中的细胞总数
- 无穷大量
- activity异常生命周期下的退出数据保存的方法
- Kotlin编程之嵌套类,内部类,匿名内部类
- 修改windows 7以后的无线网卡mac地址
- RecyclerView里嵌套带小圆点的无限轮播
- 查找细胞
- autohotkey将大写键转换为enter键,将~键转换为backSpace键
- JPEG分析及解码
- Spring 依赖注入方式
- 视觉注意力的循环神经网络模型
- [Redis]Redis指南一 数据类型
- 视频编解码基础
- 浅谈springAOP
- 排序-选择排序-Java