G - 小晴天老师系列——可恶的墨水瓶

Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)
Submit Status

Problem Description

小晴天老师正在备课,这时,可恶的墨水瓶突然自己打翻了!悲剧发生了!小晴天的备课稿都被墨水弄脏了。。。。

不过小晴天很乐观~这时他把他的一张纸分成n*m个格子,其中有一些格子被墨水涂黑了,有的没有。那么小晴天想知道,最大的一块联通的墨水块占多少个格子呢?

所谓的联通的即两个格子至少有一个公共顶点。

Input

多组数据,首先是一个正整数t(t<=20)

对于每组数据,先给出两个整数m.n(1<=n,m<=20)

然后是一个m行n列的01矩阵,若为1,则该格子被墨水染黑。

Output

对于每组数据,输出一个整数,表示最大被墨水染黑的连通格子数。

Sample Input

1
4 4
1 1 0 0
0 1 1 0
0 0 1 0
1 0 0 0

Sample Output

5
题意:
输入N,M,然后再输入N*M大小的地图,问你有1相临的最大个数。
很基础的一道深度搜索的题目,坑爹的是,= -,没认真看题,是八个方向。
 #include <algorithm>
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int Map[][];
int Len_X,Len_Y;
int SUM;/*记录1相临的最大个数*/
int sum;/*记录每一次进入的1相邻的个数*/
void Input()
{
int i,j;
for(i=;i<=Len_X+;i++)
{
for(j=;j<=Len_Y+;j++)
{
if(i==||j==||i==Len_X+||j==Len_Y+)Map[i][j]=;
else scanf("%d",&Map[i][j]);
}
}
} void BFS(int x,int y)
{
if(Map[x][y]==)
{
Map[x][y]=; /*把当前可行的位置标记成'*'*/
sum++; /*每次遇到一个1,sum++ */
BFS(x+,y); /*进入八个方向进行查找*/
BFS(x-,y);
BFS(x,y+);
BFS(x,y-);
BFS(x+,y+);
BFS(x-,y-);
BFS(x-,y+);
BFS(x+,y-);
}
return ;
}
int main()
{
int i,j,T;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&Len_X,&Len_Y);
Input();/*输入地图,创建围墙*/
SUM=;
for(i=;i<=Len_X;i++)
{
for(j=;j<=Len_Y;j++)
{
if(Map[i][j]==)/*判断当前点为1,则进入搜索*/
{
sum=; /*设置当前1的个数为0*/
BFS(i,j);
if(SUM<=sum) /*获取最大值*/
SUM=sum;
}
}
}
printf("%d\n",SUM);
}
return ;
}

G - 小晴天老师系列——可恶的墨水瓶的更多相关文章

  1. acdream 小晴天老师系列——晴天的后花园 (暴力+剪枝)

    小晴天老师系列——晴天的后花园 Time Limit: 10000/5000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) ...

  2. acdream 小晴天老师系列——苹果大丰收(DP)

    小晴天老师系列——苹果大丰收 Problem Description 小晴天的后花园有好多好多的苹果树,某天,苹果大丰收~小晴天总共摘了M个苹果,我们假设苹果之间是不可分辨的. 为了保存苹果,小晴天买 ...

  3. acdream 小晴天老师系列——竖式乘法(简单穷举)

    小晴天老师系列——竖式乘法 Time Limit: 4000/2000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)   ...

  4. E - 小晴天老师系列——我有一个数列!

    E - 小晴天老师系列——我有一个数列! Time Limit: 20000/10000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/O ...

  5. D - 小晴天老师系列——晴天的后花园

    D - 小晴天老师系列——晴天的后花园 Time Limit: 10000/5000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Oth ...

  6. F - 小晴天老师系列——苹果大丰收

    F - 小晴天老师系列——苹果大丰收 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Other ...

  7. C -小晴天老师系列——竖式乘法

    C - 小晴天老师系列——竖式乘法 Time Limit: 4000/2000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others ...

  8. acdream 小晴天老师系列——我有一个数列! (ST算法)

    小晴天老师系列——我有一个数列! Time Limit: 20000/10000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others)S ...

  9. [ACdream]小晴天老师系列——竖式乘

    题目链接:http://acdream.info/contest?cid=1269#problem-C Problem Description 小晴天是ACdream团队中最牛的老师之一,他最擅长数学 ...

随机推荐

  1. mysql 时间

    显示当前时间: mysql> select now(); +---------------------+ | now() | +---------------------+ | -- :: | ...

  2. eclipse 启动tomcat后 页面无法访问tomcat首页

    在eclipse中新建tomcat7,完成后tomcat能够正常启动,但是浏览器问题localhost:8080访问不了. 解决方法如下: 双击eclipse中服务器中的tomcat 出现tomcat ...

  3. VS中,如何将存在于解决方案里,但是没有显示出来的文件(或文件夹)显示到项目中。

    不知道有没有人跟我一样,刚开始接触VS的时候,没有通过"右键->添加"产生文件,而是直接一些文件或者文件夹建在了项目的本地目录中. 导致最后这些文件(或文件夹)无法在项目中显 ...

  4. MSMQ小Demo

    Demo基于http://www.cnblogs.com/zhili/p/MSMQ.html Server代码: using System.Messaging; using System.Text; ...

  5. Python----文件的IO操作

    一.文件操作 r 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. rb 以二进制格式打开一个文件用于只读.文件指针将会放在文件的开头.这是默认模式. r+ 打开一个文件用于读写.文件 ...

  6. 关于System.currentTimeMillis()

    一.时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)1秒=1,000,000 微秒(μs) 1微秒=1/1,000,000秒(s)1秒=1,000,000,000 纳秒(ns ...

  7. 写Java程序的三十个基本规则【新手必读】

    (1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母.例如:  ThisIsAClassName  this ...

  8. 安装Redis无错流程

    1.参考文章<安装3.0.3版本配置文章参考>http://www.iyunv.com/thread-89612-1-1.html 2.安装tcl组件包(安装Redis需要tcl支持) 下 ...

  9. 关于设置CFileDialog的默认路径

    CFileDialog   d_File(FRUE, NULL,NULL,NULL,szFilter,FromHandle(m_hWnd)); // 如果写了下面这句那么每次打开都是这个设置的默认路径 ...

  10. JQuery中$.ajax()方法参数详解及应用

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...