最大岛屿

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
描写叙述

神奇的海洋。惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等。加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠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程序设计大赛)的更多相关文章

  1. nyoj 1238 最少换乘 (河南省第八届acm程序设计大赛)

    题目1238 题目信息 执行结果 本题排行 pid=1238" style="text-decoration:none; color:rgb(55,119,188)"&g ...

  2. nyoj 1239 引水project (河南省第八届acm程序设计大赛)

    题目1239 pid=1239" style="color:rgb(55,119,188)">题目信息 pid=1239" style="col ...

  3. 河南省第八届ACM程序设计大赛

    A:挑战密室 #include <iostream> #include <cstdio> #include <cstring> #include <algor ...

  4. 河南省第八届ACM程序设计大赛总结

    简单的对这次省赛做个总结:总体来说这个比赛过程中做的还算比较顺利,虽然中间多多少少遇到一些坑,正式比赛开始后,我们就开始找水题,当然了我首先把英文题目翻译了一遍,发现了一道水题,这道题目其实就是判断点 ...

  5. 河南省第四届ACM程序设计大赛

    A: 序号互换 #include <cstdio> #include <cstdlib> #include <cstring> #include <algor ...

  6. 河南省第五届ACM程序设计大赛

    D:   遥 控 器 #include<cstdio> #include<cstring> #include<iostream> #include<algor ...

  7. “玲珑杯”郑州轻工业学院第八届ACM程序设计大赛暨河南高校邀请赛-正式赛(总结)

    这次轻院校赛,我们去了五个队,怀着打酱油的心态早早爬起来坐上校车出发了,由于昨晚室友打游戏,以及看视频大笑...没睡好,快1点才睡着,感觉特别困,车上没地方,睡不着,就在车上闭目养神,由于在新校区,不 ...

  8. 西南科技大学第十一届ACM程序设计大赛发言稿

    西南科技大学第十一届ACM程序设计大赛发言稿 各位老师.志愿者及参赛选手: 大家好,我是来自计科学院卓软1301的哈特13,很荣幸今天能站在这里代表参赛选手发言. 回想起来,我参加ACM比赛已经快两年 ...

  9. 第13届 广东工业大学ACM程序设计大赛 C题 平分游戏

    第13届 广东工业大学ACM程序设计大赛 C题 平分游戏 题目描述 转眼间又过了一年,又有一届的师兄师姐要毕业了. ​ 有些师兄师姐就去了景驰科技实习. 在景驰,员工是他们最宝贵的财富.只有把每一个人 ...

随机推荐

  1. Ubuntu系统使用命令禁用触摸板等输入设备

    [日期:2012-02-22]   本人用的Ubuntu 10.04系统,笔记本上有鼠标和触摸板.默认下,触摸板是开启的, 有时候打字的时候会不时碰到触摸板,添了不少麻烦,所以得禁用触摸板,限于目前所 ...

  2. Eclipse怎样连接并打开oracle等数据库?

    http://jingyan.baidu.com/article/a501d80cea3ed4ec630f5e2f.html

  3. Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199),请尊重他人的辛勤劳动成果,谢谢! 我在上一 ...

  4. SQL Server 2008、SQL Server 2008R2 自动备份数据库

    让SQL Server 2008自动备份数据库,需要建立一个SQL Server作业,并启动SQL Server代理,使该作业定期运行. 具体来说,可以按以下步骤进行: 一.打开SQL Server ...

  5. 二级指针 (C语言)

    二级指针又叫双指针.C语言中不存在引用,所以当你试图改变一个指针的值的时候必须使用二级指针.C++中可以使用引用类型来实现. 下面讲解C中的二级指针的使用方法. 例如我们使用指针来交换两个整型变量的值 ...

  6. linux kill 关闭进程命令

    杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志. 首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令: # kill -pid 注释:标准的kill命令通常都能达到目的 ...

  7. Atitit.spring体系结构大总结

    Atitit.spring体系结构大总结 1. Srping mvc 1 2. Ioc 4 3. ApplicationContext在BeanFactory的基础上构建,区别 4 4. Aop 5 ...

  8. location 禁止多目录

    [root@web01 default]# mkdir cron templates [root@web01 default]# tree . ├── cron └── templates direc ...

  9. python学习之winreg模块

    winreg模块将Windows注册表API暴露给了python. 常见方法和属性 winreg.OpenKey(key,sub_key,reserved = ,access = KEY_READ) ...

  10. HashMap与ConcurrentHashMap的区别(转)

    从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心. 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从 ...