博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【我为标程写注释】细胞
阅读量:5043 次
发布时间:2019-06-12

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

1.细胞

题目描述

一矩形阵列由数字0 到9 组成,数字1 到9 代表细胞,细胞的定义为沿

细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞

个数。

输入

一行两个数,N,M (1<=n,m<=100)

N*M 的矩阵

输出

一个数据,表示细胞个数。

这题就是一个搜索,因为数据小,所以暴力一点就可以了

1 /* 2     写代码人:std(不 3     批注人:zx  4     指导老师:gg  5 */ 6 #include
7 using namespace std; 8 int m,n; 9 int a[50][80];10 int total;11 void work(int u,int v) //搜索的过程 12 {13 a[u][v] = 0; //避免重复搜索 14 if(u != m - 1 && a[u+1][v] != 0) work(u+1,v);15 if(v != 0 && a[u][v-1] != 0) work(u,v-1);16 if(v != n-1 && a[u][v+1] != 0) work(u,v+1);17 if(u!=0 && a[u-1][v] != 0) work(u-1,v);18 }19 int main()20 {21 //freopen("cell.in","r",stdin);22 //freopen("cell.out","w",stdout);23 total=0;24 scanf("%d%d",&m,&n);25 char ppp;26 int i,j;27 for(i = 0;i < m;i++)28 for(j = 0;j < n;j++){29 scanf("%c",&ppp);30 a[i][j] = ppp - '0'; //读入数据。这是scanf读入char的优点√ 31 }32 for(i = 0;i < m;i++){33 for(j = 0;j < n;j++){34 if(a[i][j]!=0){35 work(i,j);36 total++; //每找到一个细胞(?)就+1 37 }38 }39 }40 41 printf("%d",total);42 return 0;43 }

 

转载于:https://www.cnblogs.com/aristocrat/p/8822073.html

你可能感兴趣的文章
HTML & CSS: The Good Parts
查看>>
Perl语言编程(第三版) 大骆驼书 网络最完美版 英文原版+中文文字版PDF下载
查看>>
Java语言概述
查看>>
mysql批量插入运用
查看>>
WCF与WebService的区别(转)
查看>>
usaco Broken Necklace(dp)
查看>>
关于php操作windows计划任务管理
查看>>
深度学习性能提升方法
查看>>
原型继承
查看>>
windows下使用mingw编译python扩展模块
查看>>
UVa 12034 (递推) Race
查看>>
UVa 10900 (连续概率、递推) So you want to be a 2n-aire?
查看>>
HDU 1698 (线段树 区间更新) Just a Hook
查看>>
Java三大特性(封装、继承、多态)
查看>>
关于android 代码生成布局中遇到的一些问题
查看>>
opencv是什么
查看>>
正则匹配超时处理
查看>>
mysql语句性能分析案例
查看>>
短信服务构建总结
查看>>
集智人工智能学习笔记Python#0
查看>>