小白书 黑白图像【DFS/Flood Fill】

http://blog.csdn.net/u010470972/article/details/33415617

Description

输入一个n×n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数。如果两个黑格子有公共边或者公共顶点,就说它们属于同一个八连块。如下图所示的图形有3个八连块。

Input

第1行输入一个正整数n(n≤700),此后输入n行,每行是由n个0或1组成的字符串。

Output

在输入黑白图像中,八连块的个数

Sample Input


100100 
001010 
000000 
110000 
111000 
010100

Sample Output

3

时间: 2024-08-27 00:27:02

小白书 黑白图像【DFS/Flood Fill】的相关文章

SSOJ 2316 面积【DFS/Flood Fill】

题目描述 编程计算由“1”号围成的下列图形的面积.面积计算方法是统计1号所围成的闭合曲线中点的数目. 如图所示,在10*10的二维数组中,“1”围住了15个点,因此面积为15. 题目大意:对于给定的10*10的01矩阵,请问有多少个0被1包围了?(包围是指不能由上下左右通向边缘)本文来源于OIER博客,原文出处:http://www.oier.cc/ssoj2316%E9%9D%A2%E7%A7%AF/ 解题思路 图形学中Flood Fill是满水法填充,是用来填充区域的.就好比在一个地方一直到

Openjudge1388 Lake Counting【DFS/Flood Fill】

http://blog.csdn.net/c20182030/article/details/52327948 1388:Lake Counting 总时间限制:   1000ms   内存限制:   65536kB 描述 Due to recent rains, water has pooled in various places in Farmer John's field, which is represented by a rectangle of N x M (1 <= N <= 1

洛谷 P1506 拯救oibh总部【DFS/Flood Fill】

题目背景 oibh总部突然被水淹没了!现在需要你的救援…… 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去的……现在给出oibh的围墙建设图,问oibh总部没被淹到的重要区域(由”0”表示)有多少. 输入输出格式 输入格式: 第一行是两个数,x和y(x,y<=500) 第二行及以下是一个由*和0组成的x*y的图. 输出格式: 输出没被水淹没的oibh总部的“0”的数量. 输入输出样例 输入样例#1: 样例输

ACM:图的DFS,黑白图像

题目:输入一个n*n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数.如果两个黑格子有公共边或者公共顶点,就说它们属于同一个八连块. 输入:第一行输入一个整数n(n<=500),下面输入n行,每行是由n个0或1组成的字符串. 输出:输出有多少个八连块,以及每个块的面积.一个方格的面积为1. 分析:把图片最外层扩展开来,在最外面加一层白色的框框..设置一个数组来存储每个八连块的面积..DFS递归调用每一个黑色的方块..DFS的最后一个参数要设置为传递引用.. #include <

小白书关于动态规划

10192 最长公共子序列 http://uva.onlinejudge.org/index.php?option=com_onlinejudge& Itemid=8&page=show_problem&category=114&problem=1133&mosmsg= Submission+received+with+ID+13297616 */ #include <cstdio> #include <string.h> #include&

黑白图像

#include <stdio.h> #include <string.h> #define MAX 1000+10 char mat[MAX][MAX], vis[MAX][MAX]; void dfs(int x, int y) //mat[][]存图像,1代表黑; vis[][]标记是否访问过这个格子 { if (!mat[x][y] || vis[x][y]) { return; } vis[x][y] = 1; //标记此点访问过 dfs(x-1, y-1); dfs(x

UVa10815_Andy&#39;s First Dictionary(小白书字符串专题)

解题报告 思路: 字典树应用,dfs回溯遍历字典树 #include <cstdio> #include <cstring> #include <iostream> using namespace std; struct node { int v; node *next[26]; }; int l,m,cnt; char str[100],ch[100],dic[5500][100]; node *newnode() { int i,j; node *p=new nod

深度搜索应用之黑白图像(非递归)

深度搜索应用之黑白图像(非递归) 前言: 使用深度搜索,有两个方法:递归,栈.本质是栈. 递归有一个缺陷,栈溢出.栈有一个缺陷,程序相对递归更复杂. 练习题: 输入一个n*n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数.如果两个黑格子有公共边或者公共顶点,就说它们属于同一个八连块.(题意是让求连在一起的块有几个,图见书本)   使用递归求解:点这里 使用栈求解: 1 #include <iostream> 2 #include <memory.h> 3 #inc

黑白图像问题

1.题目描述:                                                                       黑白图像 Time Limit(Common/Java):1000MS/3000MS          Memory Limit:65536KByteTotal Submit:282            Accepted:82 Description 输入一个n×n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数.如果两个黑