博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【日常水题-bfs】求细胞数量
阅读量:5236 次
发布时间:2019-06-14

本文共 1270 字,大约阅读时间需要 4 分钟。

一题让我学会bfs系列qaq

1 #include
2 #include
3 using namespace std; 4 const int sz = 110; 5 int n, m, ans = 0; 6 int dx[4]={
0,1,0,-1}; 7 int dy[4]={
1,0,-1,0}; 8 int plat[sz][sz]; 9 int q[sz][3];10 struct node {11 int x, y;12 };13 void bfs(int x,int y) {14 int head = 1, tail = 1, mx, my;15 plat[x][y] = 0;16 q[1][1] = x, q[1][2] = y;17 while(head<=tail) {18 for(int i = 0; i < 4; i++) {19 mx = q[head][1] + dx[i];20 my = q[head][2] + dy[i];21 if(mx>=1&&my>=1&&mx<=n&&my<=m&&plat[mx][my]) {22 tail++;23 q[tail][1] = mx;24 q[tail][2] = my;25 plat[mx][my] = 0;26 }27 }28 head++;29 }30 }31 int main() {32 scanf("%d%d",&n,&m);33 for(int i = 1; i <= n; i++) {34 for(int j = 1; j <= m; j++) 35 scanf("%1d",&plat[i][j]);36 }37 for(int i = 1; i <= n; i++) {38 for(int j = 1; j <= m; j++) {39 if(plat[i][j]) {40 bfs(i,j);41 ans++;42 }43 }44 }45 printf("%d",ans);46 return 0;47 }

 

  不那样读入一行就算一个了qaq

我写的博客过两天自己都看不懂QAQ

转载于:https://www.cnblogs.com/Hwjia/p/9704993.html

你可能感兴趣的文章
数据库锁机制及乐观锁,悲观锁的并发控制
查看>>
03 线程池
查看>>
201771010125王瑜《面向对象程序设计(Java)》第十三周学习总结
查看>>
手机验证码执行流程
查看>>
python 基础 ----- 变量
查看>>
设计模式课程 设计模式精讲 2-2 UML类图讲解
查看>>
Silverlight 的菜单控件。(不是 Toolkit的)
查看>>
初识lua
查看>>
我是插件狂人,jDuang,jValidator,jModal,jGallery
查看>>
张季跃 201771010139《面向对象程序设计(java)》第四周学习总结
查看>>
如何解除循环引用
查看>>
android中fragment的使用及与activity之间的通信
查看>>
jquery的contains方法
查看>>
python3--算法基础:二分查找/折半查找
查看>>
Perl IO:随机读写文件
查看>>
转:基于用户投票的排名算法系列
查看>>
WSDL 详解
查看>>
[转]ASP数组全集,多维数组和一维数组
查看>>
C# winform DataGridView 常见属性
查看>>
逻辑运算和while循环.
查看>>