细胞——求细胞数量 C++详解

这篇具有很好参考价值的文章主要介绍了细胞——求细胞数量 C++详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

细胞——求细胞数量 C++详解,C++专栏,c++,算法

求细胞数量

题目描述

一矩形阵列由数字 0 0 0 9 9 9 组成,数字 1 1 1 9 9 9 代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。

输入格式

第一行两个整数代表矩阵大小 n n n m m m

接下来 n n n 行,每行一个长度为 m m m 的只含字符 09 的字符串,代表这个 n × m n \times m n×m 的矩阵。

输出格式

一行一个整数代表细胞个数。

样例

样例输入

4 10
0234500067
1034560500
2045600671
0000000089

样例输出

4

提示

数据规模与约定

对于 100 % 100\% 100% 的数据,保证 1 ≤ n , m ≤ 100 1 \le n,m \le 100 1n,m100

解法

暴力搜索就好了文章来源地址https://www.toymoban.com/news/detail-638527.html

代码

#include <bits/stdc++.h>
using namespace std;
short a[1000][1000];
int n,m,s;
string t;
void laiba(int i,int j)
{
	if (a[i][j]==0) return;
	a[i][j]=0;
	laiba(i-1,j);
	laiba(i,j-1);
	laiba(i+1,j);
	laiba(i,j+1);
}
int main ()
{
	cin >>n >>m;
	for (int i=1;i<=n;i++)
	{
		cin >>t;
		for (int j=1;j<=m;j++)
		{
			a[i][j]=t[j-1]-48;
		}
	}
	for (int i=1;i<=n;i++)
	{
		for (int j=1;j<=m;j++)
		{
			if (a[i][j])
			{
				s++;
				laiba(i,j);
			}
		}
	}
	cout <<s;
	return 0;
}

到了这里,关于细胞——求细胞数量 C++详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《C++基础知识精讲》专栏介绍

            本专栏深入讲解C++方面的基础知识,帮你理解透彻,灵活运用,适合有一定C/C++基础的程序员阅读。         本专栏一共25篇,已完结,内容覆盖宏、结构体、指针、运算符、构造函数、继承与派生、友元、命名空间、异常处理、模板、STL等各个方面的内容。   

    2024年02月01日
    浏览(60)
  • C++教程 - How to C++系列专栏第3篇

    这个专栏是优质的C++教程专栏,如果你还没看过第0篇,点击C++教程 - How to C++系列专栏第0篇去第0篇 本专栏一致使用操作系统:macOS Ventura,代码编辑器:CLion,C++编译器:Clang 感谢一路相伴的朋友们,感谢你们的支持 ^ _ ^ 博主反馈非常及时,如果你在阅读的时候遇到问题,

    2024年02月13日
    浏览(34)
  • C++教程 - How to C++系列专栏第0篇

    这个专栏是优质的C++教程专栏 本专栏一致使用操作系统:macOS Ventura,代码编辑器:CLion,C++编译器:Clang 感谢一路相伴的朋友们,感谢你们的支持 ^ _ ^ 博主反馈非常及时,如果你在阅读的时候遇到问题,可以直接在评论区提问,博主看到后会在24小时内给你反馈 本篇是

    2024年02月09日
    浏览(29)
  • C++教程 - How to C++系列专栏第5篇

    这个专栏是优质的C++教程专栏,如果你还没看过第0篇,点击这里去第0篇 本专栏一致使用操作系统:macOS Ventura,代码编辑器:CLion,C++编译器:Clang 感谢一路相伴的朋友们,感谢你们的支持 ^ _ ^ 博主反馈非常及时,如果你在阅读的时候遇到问题,可以直接在评论区提问,

    2024年02月11日
    浏览(35)
  • C++教程 - How to C++系列专栏第1篇

    这个专栏是优质的C++教程专栏,这个专栏是优质的C++教程专栏,如果你还没看过第0篇,点击C++教程 - How to C++系列专栏第0篇去第0篇,会保持更新哦 本专栏一致使用操作系统:macOS Ventura,代码编辑器:CLion,C++编译器:Clang 感谢一路相伴的朋友们,感谢你们的支持 ^ _ ^ 当然

    2024年02月13日
    浏览(40)
  • 【算法系列专栏介绍】

    你只管努力,其他交给时间,时间会证明一切。 文章标记颜色说明: 黄色 :重要标题 红色 :用来标记结论 绿色 :用来标记一级论点 蓝色 :用来标记二级论点 决定开一个算法专栏,希望能帮助大家很好的了解算法。主要深入解析每个算法。 我们一起努力,成为更好的自

    2024年02月09日
    浏览(35)
  • 算法专栏——双指针

             题目链接:移动 0_牛客题霸_牛客网 (nowcoder.com)         像这样子的将一整块数组划分很多部分可以称为数组划分,常用的解法可以是双指针。 说是双指针,但操作的对象是数组,因此下标就是指针。          双指针的精华就是通过俩个指针将数组划分成三个

    2024年02月10日
    浏览(31)
  • C++ 离散化 算法 (详解)+ 例题

    1、性质 把 无限空间 中有限的个体映射到 有限的空间 中去,以此提高算法的空间效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的压缩。 适用范围: 数的跨度很大,用的数很稀疏 例如:值域:1~10^9, 个数:10^5,值域很大,但是用到个数相对

    2024年02月19日
    浏览(44)
  • C++排序算法:归并排序详解

    一、归并排序 二、基本算法         1、分离         2、合并         3、图片讲解 三、代码实现         1、分离函数         2、合并函数          3、完整代码          4、样例 四、总结          归并排序 (Merge Sort)是建立在归并操作上的一种既有效又稳

    2024年02月12日
    浏览(40)
  • 【运动规划算法项目实战】专栏介绍

    本博客专栏将介绍一系列机器人运动规划算法项目实战,以及如何在Gazebo仿真环境下进行实验验证。我们将提供可运行的代码和详细的算法解析,以帮助读者更好地理解和应用这些算法。 通过本专栏的学习,读者将深入了解机器人运动规划算法的原理和实现,以及如何在仿真

    2024年02月04日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包