热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FOJProblem1082最大黑区域

题目大意:设计一个程序寻找最大黑区域。黑区域由黑像素组成,一个黑区域中的每个像素至少与该区域中的另一个像素相邻,规定一个像素仅与其上、下、左、右的像素相

题目大意:

设计一个程序寻找最大黑区域。黑区域由黑像素组成,一个黑区域中的每个像素至少与该区域中的另一个像素相邻,规定一个像素仅与其上、下、左、右的像素相邻。两个不同的黑区域没有相邻的像素。一个黑区域的面积是其所包含的像素的个数。

解题思路:

简单的深度优先搜索问题,由一个黑色像素点开始搜索直到没有黑色像素点与之相连,就结束这一区域的搜索,并把这一区域的点标记为已读。重复这一过程直到把所有点都找遍。


程序代码:

#include
int dir[4][2]={{0,-1},{0,1},{-1,0},{1,0}};
int map[105][105];
int row,col; //行,列
int sum;
void dfs(int x,int y){
map[x][y]=0; //标记为已读
int xi,yi;
for(int i=0;i<4;i++){
xi=x+dir[i][0];
yi=y+dir[i][1];
if(xi>=0 && xi=0 && yimap[xi][yi]==1){
sum++;
dfs(xi,yi); //递归深搜
}
}
return ;
}
int main(){
while(~scanf("%d %d",&row,&col)&&row!=0&&col!=0){
int max=0;
for(int i=0;i for(int j=0;j scanf("%d",&map[i][j]);
}
}
for(int i=0;i for(int j=0;j if(map[i][j]==1){
sum=1;
dfs(i,j);
if(max }
}
}
printf("%d\n",max);
}
return 0;
}

推荐阅读
  • [转]Makefile 使用总结
    2019独角兽企业重金招聘Python工程师标准1.Makefile简介Makefile是和make命令一起配合使用的.很多大型项目的编译都是通过Makefile来组织的,如 ... [详细]
  • Android休眠唤醒机制
    有四种方式可以引起休眠①在wake_unlock()中,如果发现解锁以后没有任何其他的wakelock了,就开始休眠②在定时器到时间以后,定时器的回调函 ... [详细]
  • 数据结构学习记录(六)树
    前言树:有且只有一个称为根的节点,有若干个互不相交的子树,这些子树本身也是一颗树。通俗理解:树由节点与边组成, ... [详细]
  • 删除二分搜索树的节点一、删除二分搜索树的最小值和最大值1.先找到二分搜索树的最小值和最大值最小值:二叉树中的最左侧的元素(不存在左孩子的节点 ... [详细]
  • From:byscz,2.0理解SIGBUS与SIGSEGVQ:SIGSEGV我能理解,但有时碰上SIGBUS,这该如何理 ... [详细]
  • 1.中点画圆算法(1)P为当前点亮象素,那么,下一个点亮的象素可能是P1(Xp+1,Yp)或P2(Xp+1,Yp+1)。(2)构造函数:F(X,Y) ... [详细]
  • 题意:多模式串匹配,输出模式串的ID思路:典型AC自动机.用向量存储答案ID#include<cstdio>#include<cstring> ... [详细]
  • 0-0#includeintmain(intargc,charconst*argv[]){std::cout ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了高效算法求解数独相关的知识,希望对你有一定的参考价值。title:高效算法求解数独 ... [详细]
  • Bzoj1185最小矩阵覆盖[旋转卡壳+凸包+处理[0]情况]
    题目链接题目大意:就是给你若干个点用一个最小的矩形把这些点覆盖掉就是给你若干个点用一个最小的矩形把这些点覆盖掉就是给你若干个点用一个最小的矩形把这些点覆盖掉解题思路& ... [详细]
  • Activity为Android应用程序的一个关键组成部分,它通常提供一个用户界面用来和用户交互以完成某个功能,比如拨号,拍照,发送电子邮件或者是浏览地图,在移动设备上,Activ ... [详细]
  • 做了题还是忍不住要写一发题解,感觉楼下的不易懂啊。本题解使用latex纯手写精心打造。题意:求\(\frac{1}{x}\frac{1}{y}\frac ... [详细]
  • 哈密顿圈|回溯-6原文:https://www.geesfo ... [详细]
  • *题意:往区间[1,10000000]的墙上贴海报,海报数量 ... [详细]
  • P3521[POI2011]ROTTreeRotations题目大意:给一棵$(1≤n≤200000)$个叶子的二叉树,可以交换每个点的左右子树,要求前序遍历叶子的逆序对最少。我们 ... [详细]
author-avatar
郭彩凤da
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有