【信息学奥赛课课通】最大黑区域

信息学奥赛(NOIP/CSP-J/S)学习全目录 课程学习顺序指引 1、纲要 2、CL0-CL4内容后续更新 3、CL5 递归:地址 4、JL4搜索:地址一 其他内容陆续更新 练习指引 1、51nod一起刷题 2、洛谷一起刷题 3、历年真题刷题 陆续更新 阅读详情

题目描述

二值图像是由黑白两种像素组成的矩形点阵,图像识别的一个操作是求出图像中最大黑区域的面积。请设计一个程序完成二值图像的这个操作。黑区域由黑像素组成,一个黑区域中的每像素至少与该区域中的另一像素相邻,规定一个像素仅与其上、下、左、右的像素相邻。两个不同的黑区域没有相邻的像素。一个黑区域的面积是其所包含的像素数。

输入

第 1 行含两个正整数 n 和 m,1≤n、m≤100,分别表示二值图像的行数与列数,后面紧跟着n 行,每行含 m 个整数 0 或 1,其中第 i 行表示图像的第 i 行的 m 个像素,0 表示白像素,1 表示黑像素。

输出

输出一个数,表示相应的图像中最大黑区域的面积。

样例输入

5 6
0 1 1 0 0 1
1 1 0 1 0 1
0 1 0 0 1 0
0 0 0 1 1 1
1 0 1 1 1 0

样例输出

7

循环,若此元素未被标记则进行搜索,每搜到一个标记一下,并将计数器++,最后输出

代码:

#include <bits/stdc++.h>
using namespace std;
char a[101][101];
int sum, ans, n, m;

void dg(int x, int y)
{
	if (a[x][y] == '1')
		{
			a[x][y] = '0';
			sum++;
		}
	if (a[x + 1][y] == '1')
		dg(x + 1, y);
	if (a[x - 1][y] == '1')
		dg(x - 1, y);
	if (a[x][y + 1] == '1')
		dg(x, y + 1);
	if (a[x][y - 1] == '1')
		dg(x, y - 1);
}

main()
{
	freopen("area.in","r",stdin);
	freopen("area.out","w",stdout);
	scanf("%d%d", &n, &m);
	for (int i = 1; i <= n; i++)
		{
			for (int j = 1; j <= m; j++)
				{
					cin >> a[i][j];
				}
		}
	for (int i = 1; i <= n; i++)
		{
			for (int j = 1; j <= m; j++)
				{
					if (a[i][j] == '1')
						{
							sum = 0;
							dg(i, j);
							ans = max(sum, ans);
						}
				}
		}
	printf("%d", ans);
	return 0;
}
信息学奥赛课课通.zip 书本配套ppt课件、测试数据、参考程序,是教师教学、布置作业的必备 立即下载

相关推荐

信息学奥赛基础知识习题(答案版)

一、选择题(下列各题仅有一个正确答案,请将你认为是正确的答案填在相应的横线上) 1. 我们把计算机硬件系统和软件系统总称为 C 。 (A)计算机CPU (B)固件 (C)计算机系统 (D)微处理机 2. 硬件系统是指 D 。 (A)控制器,运算器 (B)存储器,控制器

最大黑区域

Problem 最大黑区域Accepted: 585   Total Submit: 1044 Time Limit: 1000ms   Memony Limit: 32768KBDescription二值图像是由黑白两种像素组成的矩形点阵,图像识别的一个操作是求出图像中最大黑区域的面积。请设计一个程序完成二值图像的这个操作。黑区域由黑像素组成,一个黑区域中的每个像素至少与该区域中的另一个像素相邻...

代码敌敌畏的博客 1569

信息学奥赛一本通·编程启蒙 C++版(2023.10.23).pdf

信息学奥赛一本通·编程启蒙 C++版(2023.10.23)

zstuacm数据结构基础13-最大黑区域

zstuacm数据结构基础13-最大黑区域 二值图像是由黑白两种像素组成的矩形点阵,图像识别 的一个操作是求出图像中最大的黑区域的面积。请设计一个程序完成二值图像的这个操作,黑区域由黑像素组成,一个黑区域中的每像素至少与该区域中的另一个像素相邻,规定一个像素仅与其上下左右的像素相邻。两个不同的黑区域没有相邻的像素。一个黑区域的面积是其所包含的像素数。 第一行两个正整数n和m,1<=n,m<=100,分别表示二值图像的行数与列数。 后面紧跟着n行,每行含m个整数0或1,其中第i行表示图像的第i行的

qq_42677487的博客 1033

《信息学奥赛一本通·编程启蒙 C++版》目录 2023.12.01(N).pdf

《信息学奥赛一本通·编程启蒙 C++版》目录 2023.12.01(N)

YOLO26算法心电图十二导联目标检测+训练好的模型+368张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[导联I(I), 导联II(II), 导联III(III), 胸导联V1(V1), 胸导联V2(V2), 胸导联V3(V3), 胸导联V4(V4), 胸导联V5(V5), 胸导联V6(V6), 加压肢体导联aVF(aVF), 加压肢体导联aVL(aVL), 加压肢体导联aVR(aVR)] · 训练集:313 张 · 验证集:37 张 · 测试集:18 张 · 总计:368 张 该数据集聚焦于临床心电图信号的精准识别与定位,其核心检测目标为标准12导联心电图中的各个独立导联波形区域,涵盖肢体导联(I、II、III)与加压肢体导联(aVR、aVL、aVF),以及胸前导联(V1至V6),适用于心电图自动分析系统中对各导联位置的快速准确标注与分类。数据采集场景真实还原了医院心电图室或急诊监护环境下的标准心电图记录纸,波形清晰、基线稳定,具有高度临床参考价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 57 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9708** mAP50-95 | 0.6344 Precision | 0.8990 Recall | 0.9191 train/box_loss | 1.2231 train/cls_loss | 0.9703 val/box_loss | 1.2779 val/cls_loss | 0.... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

信息学奥赛一本通 1216:红与黑 搜索与回溯算法

每组数据的第一行是两个整数W和H,分别表示x方向和y方向瓷砖的数量。在接下来的H行中,每行包括W个字符。有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。对每组数据,分别输出一行,显示你从初始位置出发能到达的瓷砖数(记数时包括初始位置的瓷砖)。3)‘@’:黑色的瓷砖,并且你站在这块瓷砖上。当在一行中读入的是两个零时,表示输入结束。1)‘.’:黑色的瓷砖;2)‘#’:红色的瓷砖;

长春高老师编程 1404

GD32F470实战:如何用EXMC+SDRAM为LVGL打造超大内存池(附完整配置代码)

本文详细介绍了如何利用GD32F470的EXMC接口与SDRAM深度整合,为LVGL构建高性能内存解决方案。通过硬件架构设计、EXMC接口配置、高级内存管理策略及LVGL性能优化技巧,开发者可以突破微控制器内存限制,实现高分辨率显示和复杂动画效果。附完整配置代码,助力嵌入式GUI开发。

rrr55的博客 546

问题 B: 数据结构基础13-最大黑区域

这个题目,我觉得最关键的是你不用去考虑,当你把已经用掉过的1变成0时会不会导致最后的结果改变,实际上是不会的,因为你每一个最大的黑区域都是包含了这一片的1,也就是说你不管从哪个1 开始,其实都不会改变这一片黑区域的最大值,因此来说这个跟队列里的a题是有类似之处的,或者说两道题目很像,只是这道题目花的时间和空间复杂度可能会多一点。请设计一个程序完成二值图像的这个操作,黑区域由黑像素组成,一个黑区域中的每像素至少与该区域中的另一个像素相邻,规定一个像素仅与其上下左右的像素相邻。

2301_80550438的博客 1355

VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping

文章目录写在前面摘要1.引言2.相关工作3.系统概述4.视觉前端5.双目视觉惯性里程计A. IMU预积分因子B. 非结构化视觉因子C. 优化和边缘化6. 激光建图A. LiDAR扫描去畸变B. 帧到地图配准7. LiDAR增强的闭环A. 回环检测B. 回环约束C. 全局位姿图优化D. 重定位8. 实验结果A.平台和软件B.测试和结果C. EuRoCMAV数据集测试9.结论 写在前面 写作参考: robot L 开源代码: 开源代码链接 论文原文: 原文链接 摘要 SLAM是移动和空中机器人的一项基本任务

JaydenQ的博客 2321

Centos7.6操作系统安装+Bond配置(600GB磁盘版本)

1.安装前准备工作 准备centos7.6操作系统镜像 CentOS-7-x86_64-DVD-1810.iso 服务器安装一般都是在BMC界面操作,所以安装前需要在BMC界面挂载好操作系统镜像 重启服务器后自动进入安装界面。 华为大数据集群安装操作系统配置

小时光 6010

课课通、一本通、提高篇、算法竞赛进阶指南 测试数据

课课通、一本通、提高篇、算法竞赛进阶指南 测试数据

青少年趣味编程 2467

【浙大翁恺】C语言习题

/* 02-0. 整数四则运算(10) 本题要求编写程序,计算2个正整数的和、差、积、商并输出。 题目保证输入和输出全部整型范围内。 输入格式: 输入在一行中给出2个正整数A和B。 输出格式: 在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。 输入样例: 3 2 输出样例: 3 + 2 = 5 3 - 2 = 1 3 * 2 = 6 3 / 2 =.

qq_43600867的博客 5854

CCF-201312-3(最大的矩形)

最大矩形 一:题目描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。 请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。 二:理解 ①.法一:暴力法...

Sunflower的博客 618

利用绝对式编码器实现电机无限旋转的配置与优化

本文详细解析了如何利用绝对式编码器实现电机的无限旋转功能。通过切换驱动器编码器工作模式、精确计算逻辑位置范围等关键配置步骤,解决了传统方案在多圈计数溢出时的定位难题。该方案无需硬件改造,适用于大型回转台、连续供料系统等需要大范围连续绝对定位的自动化场景。

weixin_29184371的博客 239

SOI技术实战:从晶圆结构到芯片性能提升的完整解析

本文深入解析SOI(Silicon on Insulator)技术如何通过独特的三明治晶圆结构提升芯片性能,涵盖从220nm SOI层设计到7nm节点的工艺挑战。详细探讨了埋氧层的绝缘优势、性能提升的物理机制,以及AMD处理器和5G射频中的实战应用,为半导体行业提供关键技术洞见。

wdx0123456的博客 960

探索信息学奥赛之路:课课通资源全面解析

探索信息学奥赛之路:课课通资源全面解析 去发现同类优质开源项目:https://gitcode.com/ 在信息技术日益重要的今天,信息学奥林匹克竞赛(IOI)不仅激发了无数青少年对计算机科学的兴趣,也成为了培养未来科技人才的重要舞台。今天,我们要向广大教育者与学子隆重推荐一个开源宝藏——《信息学奥赛课课通资源下载》。 项目介绍 这个精心打造的开源项目,如同一盏明灯,照亮了信息学奥赛的教学路径。它...

gitblog_09780的博客 927

vue - 网站接入微信扫码登录功能详细教程,完整详细流程及完整功能示例源代码(附常见问题的解决方案与二维码样式修改方案)

vue.js项目植入微信登录,vue网页项目怎么做微信扫码登录,VUE项目中的微信扫码登录,VUE中最简单的js调用微信扫一扫功能,vue:如何设计网页的微信扫码登录功能,微信扫码功能官方文档,通过vue方式实现二维码扫码功能,vue调用微信扫码,vue H5 调用微信扫描二维码,Vue前端实现微信扫码登录,vue-wxlogin 微信授权登录组件,网站引入的微信登录框如何修改宽高或其他样式,wxlogin 组件插件怎么改变宽高,vue-wxlogin组件怎么自定义样式,微信网页授权,vue调用微信JSDK

✅ 精选推荐文章 6364

【免费下载】 信息学奥赛课课通(C++)配套资料

信息学奥赛课课通(C++)配套资料 【下载地址】信息学奥赛课课通C配套资料 本仓库提供了《信息学奥赛课课通(C++)》课程的完整配套资料,包括电子课件PPT、习题答案、习题参考代码以及测试数据。这些资源旨在帮助学生更好地理解和掌握课程内容,提升编程技能。 ...

gitblog_09805的博客 1643

Vue3 - 详细实现虚拟列表前端虚拟滚动列表解决方案,vue3长列表优化之虚拟列表,解决列表动态高度不固定高度及图片视频图文异步请求加载问题,虚拟列表DOM大量数据同时加载渲染卡顿太慢及下滑列表闪烁

vue3,vue3虚拟列表,用vue3实现一个虚拟列表,长列表高度不一致如何实现虚拟滚动加载列表,虚拟列表有图片视频,图文列表,上万条数据同时渲染解决,长列表dom渲染太卡,列表滚动条加载超多数据,瀑布流,在Vue3中如何实现列表的虚拟滚动,虚拟列表滑动白屏闪烁闪一下,虚拟列表每个项的高度不确定,可动态改变高度,vue3虚拟滚动列表,页面数据太多加载很慢怎么办,vue3实现不定高的虚拟列表,定高和不定高,虚拟列表非固定高度,vue3长列表优化之虚拟列表实现,vue3虚拟列表高度不固定,用vue3实现一个虚拟

🏆 前端领域优质创作者 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

《信息学奥赛课课通C49375-00》配套资料:全面提升信息学奥赛实战能力

《信息学奥赛课课通C49375-00》配套资料:全面提升信息学奥赛实战能力 去发现同类优质开源项目:https://gitcode.com/ 项目核心功能/场景 为信息学奥赛选手提供全面学习资源,涵盖讲义、例题、习题解析,助力编程能力提升。 项目介绍 在当前信息学奥赛日益激烈的竞争环境下,拥有一套系统的学习资料是每位选手成功的关键。《信息学奥赛课课通(C++)》(49375-00)配套资料,正是为...

gitblog_06788的博客 1090

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

信息学奥赛课课通配套资料C2023:助力编程爱好者掌握C++,提升竞赛能力

信息学奥赛课课通配套资料C2023:助力编程爱好者掌握C++,提升竞赛能力 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 信息学奥赛课课通配套资料(C++)2023是一套专为编程爱好者打造的C++学习资源。这套资料涵盖了C++基础知识讲解、经典算法题解析、实战案例分享、历年竞赛真题解析和编程技巧与心得等内容,旨在帮助编程爱好者全面掌握C++语言,为参加信息学奥林匹克竞...

gitblog_06713的博客 338

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

信息学奥赛课课通(C++)资源文件介绍

信息学奥赛课课通(C++)资源文件介绍 【下载地址】信息学奥赛课课通C资源文件介绍 信息学奥赛课课通(C++)资源仓库为学习者提供了全面而详尽的课程资源,助力信息学奥赛的进阶之路。资源包含电子课件PPT,系统讲解C++编程语言及算法核心知识点;习题答案与参考代码,帮助巩固知识并掌握算法实现;测试数据,便于验证程序正确性,...

gitblog_06734的博客 322

【亲测免费】 信息学奥赛课课通配套资料(C++):助力编程竞赛的全面学习平台

信息学奥赛课课通配套资料(C++):助力编程竞赛的全面学习平台 【下载地址】信息学奥赛课课通配套资料C 本书配套资源包括电子课件PPT、习题答案、习题参考代码、测试数据共4部分。信息学奥林匹克竞赛是受各级各类学校重视、受青少年学生欢迎的计算机编程类竞赛活动。本书以Dev-C++为语言载体,以“程序=算法+数据结构”为教学...

gitblog_09779的博客 1018

《信息学奥赛课课通(C++)》(49375-00)配套资料下载说明

《信息学奥赛课课通(C++)》(49375-00)配套资料下载说明 去发现同类优质开源项目:https://gitcode.com/ 《信息学奥赛课课通(C++)》(49375-00)配套资料,旨在为广大学员提供全面、系统的信息学奥赛学习和训练资源。本资料包括但不限于课堂讲义、实战例题、习题解析等丰富内容,以帮助学员巩固理论知识,提高编程能力,备战信息学奥赛。 本资源文件包含以下内容: 详细的课...

gitblog_06721的博客 704
上一篇: 【NOIP2016普及组复赛模拟赛】买装备(equipment)
下一篇: 【2016江苏省小学生夏令营选拔】小 X 学游泳
开朗的坤坤
博客等级 码龄5年 11粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值