nyoj1237 最大岛屿(河南省第八届acm程序设计大赛)
最大岛屿
- 描写叙述
-
神奇的海洋。惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等。加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王。
这是一个由海洋、岛屿和海盗组成的危急世界。面对危急重重的海洋与诡谲的对手。怎样凭借智慧与运气。建立起一个强大的海盗帝国。
杰克船长手头有一张整个海域的海图,上面密密麻麻分布着各个海屿的位置及面积。他想尽快知道整个海域共同拥有多少岛屿以及最大岛屿的面积。
- 输入
- 第1行:M N T。表示海域的长,宽及一个单位表示的面积大小
接下来有M行 ,每行有N个01组成的序列以及当中穿插一些空格。0表示海水,1表示陆地,当中的空格没用,能够忽略掉。
- 输出
- 输出一行。有2个整数,一个空格间隔,表示整个海域的岛屿数。以及最大岛屿的面积
- 例子输入
-
8 16 9900000000 00000000000011001100000000011110001110000000000 00 000000000111 111000001 10001110000 00000000100001111 1111000000000000000000
- 例子输出
-
5 990
- 提示
- ①若一个陆地八个方向之中的一个(上、下、左、右、左上、右上、左下、右下)的位置也是陆地。则视为同一个岛屿。
② 如果第一行,最后一行。第一列,最后一列全为0.
③ 1<M, N≤500 1<T≤100000 - 来源
source=%E7%AC%AC%E5%85%AB%E5%B1%8A%E6%B2%B3%E5%8D%97%E7%9C%81%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E5%A4%A7%E8%B5%9B" style="color:rgb(55,119,188)">第八届河南省程序设计大赛
- 上传者
- hnu_acm
一个深搜 递归就好
#include <stdio.h>
#include <string.h>
char map[505][505];
bool vis[505][505];
int max=0;
void dfs(int x,int y)
{
if(map[x][y]=='0'||vis[x][y]==true)
return ;
max++;
vis[x][y]=true;
dfs(x,y+1);
dfs(x,y-1);
dfs(x-1,y);
dfs(x+1,y);
dfs(x+1,y+1);
dfs(x+1,y-1);
dfs(x-1,y+1);
dfs(x-1,y-1);
}
int main()
{
int m,n,x;
while(~scanf("%d %d %d",&m,&n,&x))
{
memset(vis,false,sizeof(vis));
memset(map,0,sizeof(map));
for(int i=0;i<m;i++)
{
getchar();
for(int j=0;j<n;j++)
{
char ch=getchar();
if(ch==' ')
j--;
else
map[i][j]=ch;
}
}
int Max=0,count=0;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
if(map[i][j]=='1'&&!vis[i][j])
{
max=0;
dfs(i,j);
if(max>Max)
Max=max;
count++;
}
}
printf("%d %d\n",count,Max*x);
}
return 0;
}
nyoj1237 最大岛屿(河南省第八届acm程序设计大赛)的更多相关文章
- nyoj 1238 最少换乘 (河南省第八届acm程序设计大赛)
题目1238 题目信息 执行结果 本题排行 pid=1238" style="text-decoration:none; color:rgb(55,119,188)"&g ...
- nyoj 1239 引水project (河南省第八届acm程序设计大赛)
题目1239 pid=1239" style="color:rgb(55,119,188)">题目信息 pid=1239" style="col ...
- 河南省第八届ACM程序设计大赛
A:挑战密室 #include <iostream> #include <cstdio> #include <cstring> #include <algor ...
- 河南省第八届ACM程序设计大赛总结
简单的对这次省赛做个总结:总体来说这个比赛过程中做的还算比较顺利,虽然中间多多少少遇到一些坑,正式比赛开始后,我们就开始找水题,当然了我首先把英文题目翻译了一遍,发现了一道水题,这道题目其实就是判断点 ...
- 河南省第四届ACM程序设计大赛
A: 序号互换 #include <cstdio> #include <cstdlib> #include <cstring> #include <algor ...
- 河南省第五届ACM程序设计大赛
D: 遥 控 器 #include<cstdio> #include<cstring> #include<iostream> #include<algor ...
- “玲珑杯”郑州轻工业学院第八届ACM程序设计大赛暨河南高校邀请赛-正式赛(总结)
这次轻院校赛,我们去了五个队,怀着打酱油的心态早早爬起来坐上校车出发了,由于昨晚室友打游戏,以及看视频大笑...没睡好,快1点才睡着,感觉特别困,车上没地方,睡不着,就在车上闭目养神,由于在新校区,不 ...
- 西南科技大学第十一届ACM程序设计大赛发言稿
西南科技大学第十一届ACM程序设计大赛发言稿 各位老师.志愿者及参赛选手: 大家好,我是来自计科学院卓软1301的哈特13,很荣幸今天能站在这里代表参赛选手发言. 回想起来,我参加ACM比赛已经快两年 ...
- 第13届 广东工业大学ACM程序设计大赛 C题 平分游戏
第13届 广东工业大学ACM程序设计大赛 C题 平分游戏 题目描述 转眼间又过了一年,又有一届的师兄师姐要毕业了. 有些师兄师姐就去了景驰科技实习. 在景驰,员工是他们最宝贵的财富.只有把每一个人 ...
随机推荐
- Ubuntu系统使用命令禁用触摸板等输入设备
[日期:2012-02-22] 本人用的Ubuntu 10.04系统,笔记本上有鼠标和触摸板.默认下,触摸板是开启的, 有时候打字的时候会不时碰到触摸板,添了不少麻烦,所以得禁用触摸板,限于目前所 ...
- Eclipse怎样连接并打开oracle等数据库?
http://jingyan.baidu.com/article/a501d80cea3ed4ec630f5e2f.html
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199),请尊重他人的辛勤劳动成果,谢谢! 我在上一 ...
- SQL Server 2008、SQL Server 2008R2 自动备份数据库
让SQL Server 2008自动备份数据库,需要建立一个SQL Server作业,并启动SQL Server代理,使该作业定期运行. 具体来说,可以按以下步骤进行: 一.打开SQL Server ...
- 二级指针 (C语言)
二级指针又叫双指针.C语言中不存在引用,所以当你试图改变一个指针的值的时候必须使用二级指针.C++中可以使用引用类型来实现. 下面讲解C中的二级指针的使用方法. 例如我们使用指针来交换两个整型变量的值 ...
- linux kill 关闭进程命令
杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志. 首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令: # kill -pid 注释:标准的kill命令通常都能达到目的 ...
- Atitit.spring体系结构大总结
Atitit.spring体系结构大总结 1. Srping mvc 1 2. Ioc 4 3. ApplicationContext在BeanFactory的基础上构建,区别 4 4. Aop 5 ...
- location 禁止多目录
[root@web01 default]# mkdir cron templates [root@web01 default]# tree . ├── cron └── templates direc ...
- python学习之winreg模块
winreg模块将Windows注册表API暴露给了python. 常见方法和属性 winreg.OpenKey(key,sub_key,reserved = ,access = KEY_READ) ...
- HashMap与ConcurrentHashMap的区别(转)
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心. 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从 ...