问题 I D.岛屿面积有多大
来源:互联网 发布:淘宝中老年男模 编辑:程序博客网 时间:2024/04/30 09:30
题目描述
若海域由一个主岛和一些附属岛屿组成,海域可由一个n×n的方阵表示,矩阵中的数字表示相应主岛或岛屿的海拔:数字1~9表示陆地,数字0表示海洋。
现在A君打算在某个岛屿或主岛上探险,他的飞机将会降落在海域坐标为(x, y)的陆地上,请你计算A君降落点所在岛屿或主岛的面积有多大,此处将面积定义为满足4连通的格子有多少个,4连通即为将与A君降落点上下左右相邻接的陆地均视为同一岛屿或主岛。
输入
输入一行包含3个整型数据,第一个用于表示海域的总面积,即n行n列(1<=n<=30)的方形区域;后两个用于表示A君的降落点坐标x和y(1<=x, y <=n)。
输出
A君降落点所在岛屿或主岛的面积。
样例输入
3 1 1
1 1 0
2 1 0
0 0 0
5 2 4
0 1 1 5 0
2 2 3 1 1
2 0 0 2 0
0 1 3 1 0
1 0 1 0 0
10 6 8
1 2 1 0 0 0 0 0 2 3
3 0 2 0 1 2 1 0 1 2
4 0 1 0 1 2 3 2 0 1
3 2 0 0 0 1 2 4 0 0
0 0 0 0 0 0 1 5 3 0
0 1 2 1 0 1 5 4 3 0
0 1 2 3 1 3 6 2 1 0
0 0 3 4 8 9 7 5 0 0
0 0 0 3 7 8 6 0 1 2
0 0 0 0 0 0 0 0 1 0
样例输出
4
14
38
#include<stdio.h>#include<string.h>struct Node{ int X, Y;};int main( int argc, char **argv ){ int N, StartX, StartY; while( scanf( "%d%d%d", &N, &StartX, &StartY ) != EOF ) { struct Node Queue[1000]; int Head, Tail; int Map[31][31], Book[31][31] = { 0 }; int i, j, k, Sum, TmpX, TmpY; int Next[4][2] = { { 0, 1 }, { 1, 0 }, { 0, -1 }, { -1, 0 } }; for( i = 1; i <= N; ++i ) for( j = 1; j <= N; ++j ) scanf( "%d", &Map[i][j]); Head = 0, Tail =0; Queue[Tail].X = StartX, Queue[Tail].Y = StartY; Tail++; Book[StartX][StartY] = 1; Sum = 1; while( Head < Tail ) { for( k = 0; k < 4; ++k ) { TmpX = Queue[Head].X + Next[k][0], TmpY = Queue[Head].Y + Next[k][1]; if( TmpX < 1 || TmpX > N || TmpY < 1 || TmpY > N ) continue; if( Map[TmpX][TmpY] > 0 && Book[TmpX][TmpY] == 0 ) { Sum++; Book[TmpX][TmpY] = 1; Queue[Tail].X = TmpX, Queue[Tail].Y = TmpY; Tail++; } } Head++; } printf( "%d\n", Sum ); } return 0;}
0 0
- 问题 I D.岛屿面积有多大
- 岛屿的面积有多大
- 岛屿面积有多大(Dfs)
- 岛屿面积有多大(dfs算法)
- 深度优先搜索与广度优先搜素(岛屿的面积有多大)
- 岛屿问题
- 岛屿问题
- 【HDU 2080 】夹角有多大I 【求夹角 acos】
- 小白成长日记(15)--岛屿面积问题(算法设计--dfs深度优先搜索)
- 心胸有多大事就能做多大
- 多大面积用多大空调 功率多大才合适?
- 心有多大,宇宙就有多大
- “心有多大,肚子就有多大”
- 心有多大,舞台就有多大
- 心胸有多大,成就有多大
- 心有多大,舞台就有多大
- 心胸有多大,成就有多大
- c++中printf("%5d%5d%5d%5d%5d", ++i, --i, i++, --i, -i--)的问题
- 【demo记录】百度地图获取当前所在城市
- 正则表达式语法
- 股票交易日
- android studio 无线wifi调试手机debug免数据线
- 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法
- 问题 I D.岛屿面积有多大
- JAVA学习31_ java反射机制
- 那些年,那些语言学习
- 陷入困境的意大利银行的CEO辞职
- 将mdf和ldf数据库文件添加到本地数据库中
- UDN_CanvasHUD
- 关于java基础类型与引用类型内存存储问题,以及string.intern()方法(String两种创建方式的区别)
- SpringMVC
- HDU 5763 Another Meaning(KMP+DP)