解析: 水洼问题的一个解法就是先找到一个水坑,将它清零,然后遍历它周围将所有水坑清零,直到将这个水洼整体清零,水洼数加一,一直循环直到将所有水洼都清零,其中要注意的一个点就是避免过界。

/*水洼问题假如你有一个big house ,里面有一个big 院子。下雨的时候会有很多小水坑。水坑过一会会连成水洼。1代表有水坑,0代表没有水坑。输入一个二维数组m,n,表示一个矩阵 求水洼的数量比如1 0 10 1 0 0 0 0    -->1个水洼1 0 10 0 00 0 0    -->两个水洼1 0 10 1 01 0 1    ---1个
*/
#include <stdio.h>int m,n;
void puddles(int a[][n],int M,int N);int main()
{int i,j,count;scanf("%d%d",&m,&n);int a[m][n];//循环赋值for(i=0;i<m;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);}}//找到水洼for(i=0;i<m;i++){for(j=0;j<n;j++){if(1==a[i][j]){puddles(a,i,j);count++;}}}printf("%d\n",count);return 0;
}void puddles(int a[][n],int M,int N)
{int i,j;//将水坑清零a[M][N]=0;//遍历它周围再清零for(i=-1;i<=1;i++){for(j=-1;j<=1;j++){//避免过界if(M+i>=0&&M+i<m&&N+j>=0&&N+j<n){if(1==a[M+i][N+j]){puddles(a,M+i,N+j);}}}}
}

C语言递归解决水洼问题相关推荐

  1. c语言递归汉诺塔次数,c语言递归解决汉诺塔参数变化的疑惑

    c语言递归解决汉诺塔参数变化的疑惑 答案:3  信息版本:手机版 解决时间 2020-04-05 14:20 已解决 2020-04-05 10:49 #include void main() {vo ...

  2. c语言递归解决汉诺塔问题

    c语言递归解决汉诺塔问题 参考文章: (1)c语言递归解决汉诺塔问题 (2)https://www.cnblogs.com/didiaoxiaoguai/p/6686407.html 备忘一下.

  3. 基础学习——C语言递归解决分鱼问题

    如有小伙伴想学习C语言基础,可以进群731871503进行交流学习,提升编程,共同进步 问题描述 A.B.C.D.E这5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着了.第二 ...

  4. C语言递归解决杨辉三角,在大会递归解决杨辉三角(NCK)

    要解决你的递归的combi:的中间部分有一个问题: ... call combi pop cx ;stores to cx popped value combi(n-1,k) ;*^this free ...

  5. C语言递归解决十进制转换二进制

    1.解题思路 在纸上做过十进制转二进制的朋友应该都用的都是除二取余的方法,写出每一次的余数知道0为止再从下至上依次读取余数即可,类似下图 根据观察可知十进制转换为二进制的问题属于我上一篇文章所提到的& ...

  6. c语言5个人分鱼程序题,C语言递归解决5人分鱼问题

    问题描述A.B.C.D.E这5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着了.第二天日上三竿时,A第一个醒来,他将鱼平分为5份,把多余的一条扔回河中,然后拿着自己的一份回家 ...

  7. C语言递归解决八皇后问题

    八皇后问题,任意两个皇后都不能处于同一行.同一列或同一斜线上. 在8x8的格子上,我们可以约定每一个皇后都占一行,这样就不会出现行冲突.任何在一次将一个皇后放在一列上,判断是否与前面的皇后有冲突,直到 ...

  8. C语言-递归解决分鱼问题。

    A.B.C.D.E五个人在某天夜里合伙去捕鱼,到凌晨时疲惫不堪,于是各自找地方睡觉. 第二天A醒来,他将所有的鱼分成5份,把多余的一条鱼扔掉,拿走自己的一份. B醒来,也将剩下的鱼分为5份,把多余的一 ...

  9. 【C语言】利用递归解决猴子吃桃问题

    [C语言]利用递归解决猴子吃桃问题 参考文章: (1)[C语言]利用递归解决猴子吃桃问题 (2)https://www.cnblogs.com/ieybl/p/6597937.html 备忘一下.

最新文章

  1. js关于正则的前后关联约束(前后预查)
  2. MapReduce—第一个WordCount程序
  3. 《SVG精髓》笔记(二)
  4. iOS:(接口适配器3)--iPhone适应不同型号 6/6plus 前
  5. Java.lang.IllegalStateException Activity has been destroyed
  6. SpringMVC的数据响应-页面跳转-返回ModelAndView形式2(应用)
  7. spring-data-redis相关api
  8. CVPR 2019 | 旷视提出超分辨率新方法Meta-SR:单一模型实现任意缩放因子
  9. 前端路由跳转丢失端口号_如何在应用架构中设计微前端方案 icestark
  10. 一起学Android之Intent
  11. 日系背景色RGB,CMYK数值
  12. 用易语言对DNF卡顿进行批处理
  13. iphone 文件夹连接服务器 百度云,iPhone与电脑共享文件夹
  14. FPGA设计——verilog实现乒乓操作并modelsim仿真
  15. Java路径遍历漏洞修复心得
  16. ODL Transaction
  17. Helmetphone智能头盔上手体验,享受智能的运动骑行
  18. [学习笔记]什么是存储过程?
  19. Matlab如何修改坐标轴在figure里面的位置
  20. [ROC-RK3568-PC] [Firefly-Android] 10min带你了解GPIO复用

热门文章

  1. 21年秋招面试题(个人面试小记一)
  2. Zotero+Web of Science 实现批量导入下载文献
  3. springmvc集成shiro后,session、request姓汪还是姓蒋 ?
  4. 牙齿矫正价格降低一半,年轻人距离「牙套自由」还有多远?
  5. AI智能润色改写,伪原创写作工具,毕业论文必备工具
  6. 东京奥组委公布奥运志愿者和城市志愿者昵称
  7. python数据采集6-读取文档
  8. 对北京大学红旗在线的一次友情检测
  9. 利用python进行简单条件选股策略
  10. 桥接简单介绍(分类及其用法)