第八届河南省赛 zzuoj 10407: B.最大岛屿
来源:互联网 发布:整站优化方案计划 编辑:程序博客网 时间:2024/05/16 17:33
10407: B.最大岛屿
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 29 Solved: 17
[Submit][Status][Web Board]
Description
神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等。加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王。 这是一个由海洋、岛屿和海盗组成的危险世界。面对危险重重的海洋与诡谲的对手,如何凭借智慧与运气,建立起一个强大的海盗帝国。
杰克船长手头有一张整个海域的海图,上面密密麻麻分布着各个海屿的位置及面积。他想尽快知道整个海域共有多少岛屿以及最大岛屿的面积。
Input
第1行: M N T 表示海域的长,宽及一个单位表示的面积大小
接下来有M行 ,每行有N个01组成的序列以及其中穿插一些空格。0表示海水,1表示陆地,其中的空格没用,可以忽略掉。
①若一个陆地八个方向之一(上、下、左、右、左上、右上、左下、右下)的位置也是陆地,则视为同一个岛屿。
② 假设第一行,最后一行,第一列,最后一列全为0.
③ 1<M, N≤500 1<T≤100000
Output
输出一行,有2个整数,一个空格间隔,表示整个海域的岛屿数,以及最大岛屿的面积
Sample Input
8 16 9900000000 00000000000011001100000000011110001110000000000 00 000000000111 111000001 10001110000 00000000100001111 1111000000000000000000
Sample Output
5 990
HINT
Source
第八届河南省赛
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;char map[1010][1010];int vis[1010][1010];int n,m,t;int ans2;void dfs(int x,int y){ if(x<0||x>=n||y<0||y>=m||map[x][y]=='0'||vis[x][y]) return ; if(map[x][y]!=' ') ans2++; map[x][y]='0'; vis[x][y]=1; dfs(x+1,y); dfs(x,y+1); dfs(x,y-1); 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(){ while(scanf("%d%d%d",&n,&m,&t)!=EOF) { int cnt=-1; int temp=0; memset(map,'0',sizeof(map)); memset(vis,0,sizeof(vis)); for(int i=0;i<n;++i) { getchar(); char tp; for(int j=0;j<m;) { scanf("%c",&tp); if(tp!=' ') { map[i][j++]=tp; } } } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(map[i][j]=='1') { ans2=0; temp++; dfs(i,j); cnt=max(ans2,cnt); } } } printf("%d %d\n",temp,cnt*t); } return 0;}
0 0
- 第八届河南省赛 zzuoj 10407: B.最大岛屿
- ZZUOJ 10407: B.最大岛屿
- 第八届河南省ACM省赛 - B - 最大岛屿
- 第八届河南省程序设计大赛-B.最大岛屿0000110011000000
- 第八届河南省程序设计大赛 B 最大岛屿(bfs)
- zzuoj 10407: B.最大岛屿 【dfs】
- nyoj1237 最大岛屿(河南省第八届acm程序设计大赛)
- NYOJ_5739最大岛屿(河南省第八届acm程序设计大赛)
- nyoj 1237 最大岛屿 第八届河南省程序设计大赛
- 河南省第八届省赛(最大岛屿)
- 问题 B: 最大岛屿 河南省第九届省赛
- 最大岛屿 第八届
- NYOJ1237 第八届acm省赛 B最大岛屿
- 第八届河南省程序设计大赛-NYOJ-1237-最大岛屿(DFS)
- nyoj 1237 最大岛屿 河南省ACM2015年省赛B题
- 第八届河南省赛 zzuoj 10406: A.挑战密室 (模拟) 屌题
- 第八届河南省赛 zzuoj 10409: D.引水工程 (最小生成树)
- 第八届河南省赛 zzuoj 10411: F.Distribution (模拟)水
- javamail使用IMAP协议收取gmail邮件
- Swift原生JSON解析和第三方解析对比
- IllegalStateException
- CSS padding margin border属性和布局
- Windows编程 基本常识API
- 第八届河南省赛 zzuoj 10407: B.最大岛屿
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Hadoop学习之ABC
- [c语言]指针的思考
- Object_C 回顾 0.1.2 block函数
- 学习笔记 ——深度学习和机器视觉
- css过度效果
- C# Directory类的操作
- 第八届河南省赛 zzuoj 10409: D.引水工程 (最小生成树)