Luogu P1451 求细胞数量
题目描述
一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。(1<=m,n<=100)?
输入输出格式
输入格式:
输入:整数m,n(m行,n列)
矩阵
输出格式:
输出:细胞的个数
输入输出样例
4 10
0234500067
1034560500
2045600671
0000000089
解释样例:
0000
0000
000
00000000
一样的颜色表示为一个细胞
#include<bits/stdc++.h>
using namespace std;
int read()
{
int ret=,ok=;
char ch=getchar();
while(ch<''||ch>'')
{
if(ch=='-')ok=-;
ch=getchar();
}
for(;ch>=''&&ch<='';ch=getchar())
ret=ret*+ch-'';
return ret*ok;
}
int ans=;
int m,n;
int a[][];
inline void dfs(int x,int y)
{
if(!a[x][y])
return ;
a[x][y]=;//符0,表示搜过,不在搜了。
dfs(x+,y);//向上
dfs(x-,y);//向下
dfs(x,y+);//向右
dfs(x,y-);//向左
}
int main()
{
//freopen("cell.in","r",stdin);
//freopen("cell.out","w",stdout);
m=read(),n=read();
for(int i=;i<=m;i++)
{
for(int j=;j<=n;j++)
{
scanf("%1d",&a[i][j]);//这个输入很关键,如果你cin,会错,你可以试试。
}
}
for(int i=;i<=m;i++)
{
for(int j=;j<=n;j++)
{
if(a[i][j]!=)
{
ans++;//找到一个,
dfs(i,j);//又从这个点搜
}
}
}
cout<<ans<<endl;
return ;
}
Luogu P1451 求细胞数量的更多相关文章
- 洛谷 P1451 求细胞数量
题目链接 https://www.luogu.org/problemnew/show/P1451 题目描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字 ...
- 【新知识】队列&bfs【洛谷p1996约瑟夫问题&洛谷p1451求细胞数量】
(是时候为五一培训准备真正的技术了qwq) part1 队列(FIFO) 算法简介: FIFO:First In First Out(先进先出) 队列是限定在一端进行插入,另一端进行删除的特殊线性表 ...
- 洛谷——P1451 求细胞数量
P1451 求细胞数量 题目描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=10 ...
- 洛谷P1451 求细胞数量
求细胞数量 题目链接 这道题大概是一个最简单的联通块的题了qwq 注意枚举起点的时候 一定不要从0开始不然你就会从0进入到了其他联通块中从而多查. 一定看清题意这道题不是同色为联通块!!! AC代码如 ...
- 【dfs】p1451 求细胞数量
题目描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=100)? 输入输出格式## ...
- P1451 求细胞数量
题目描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=100)? 输入输出格式 输 ...
- 【一本通1329:【例8.2】细胞&&洛谷P1451 求细胞数量】
1329:[例8.2]细胞 [题目描述] 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.如: 阵列 4 10 023 ...
- P1451 求细胞数量(广搜)
题意:就是0把是所有细胞圈起来了.而被圈起来的是所有数字全部为一个细胞问有多少个这样的细胞.(mmp,我读半天题) 思路:广搜索.就是,0的话就不放入了,不为0的话,就进入队列,然后,再看它的4个方向 ...
- 【题解】求细胞数量-C++
题目描述一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=100)? 输入输出格式输入格 ...
随机推荐
- [leetcode-563-Binary Tree Tilt]
Given a binary tree, return the tilt of the whole tree.The tilt of a tree node is defined as the abs ...
- angular popover的触发问题;
popover 一般如下用法; <div uib-popover="内容" popover-animation="false" popover-appen ...
- webpack以及loader 加载命令
module.exports={ entry:'./main/main.js', output:{ path:'./build', filename:'bundle.js' }, module:{ l ...
- Socket 文件传输
服务端 1.控件:TServerSocket 2.OnClientRead事件处理 procedure TMainForm.ssClientRead(Sender: TObject; Socket: ...
- JavaScript跨域请求和jsonp请求实例
<script type="text/javascript" src="./whenReady.js"></script> <sc ...
- javascript的一个简易利率计算器+js图像显示 代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 使用C#在VS中开发:未处理AccessViolationException “System.AccessViolationException”类型的未经处理的异常
未处理AccessViolationException: “System.AccessViolationException”类型的未经处理的异常在System.Data.dll中发生 其他信息:尝试读 ...
- jvm学习002 虚拟机类加载过程以及主动引用和被动引用
虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 类从被加载到虚拟机内存中开始,到卸载出内存为 ...
- redhat6.4配置yum
redhat6.4配置本地yum 1. 挂载(我喜欢放在/mnt下面) mount -t auto *** /mnt/redhat 或 cp *** /mnt/redhat ...
- FTP publisher plugin插件
说明:这个插件可以将构建的产物(例如:Jar)发布到FTP中去. 官方说明:FTP publisher plugin 安装步骤: 系统管理→管理插件→可选插件→Artifact Uploaders→F ...