岛屿面积有多大(Dfs)
来源:互联网 发布:欧美番号推荐知乎 编辑:程序博客网 时间:2024/04/30 15:24
题目描述
若海域由一个主岛和一些附属岛屿组成,海域可由一个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
若海域由一个主岛和一些附属岛屿组成,海域可由一个n×n的方阵表示,矩阵中的数字表示相应主岛或岛屿的海拔:数字1~9表示陆地,数字0表示海洋。
输入一行包含3个整型数据,第一个用于表示海域的总面积,即n行n列(1<=n<=30)的方形区域;后两个用于表示A君的降落点坐标x和y(1<=x, y <=n)。
A君降落点所在岛屿或主岛的面积。
1 1 0
2 1 0
0 0 0
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
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
样例输出
14
38
我的代码:
#include <stdio.h>
#include <stdlib.h>
int a[100][100],sum,n,x,y;
void dfs(x,y)
{
if( a[x][y]!=0)
{
a[x][y]=0;
sum++;
if(y>1) dfs(x,y-1);
if(y<n) dfs(x,y+1);
if(x>1) dfs(x-1,y);
if(x<n) dfs(x+1,y);
}
}
#include <stdlib.h>
int a[100][100],sum,n,x,y;
void dfs(x,y)
{
if( a[x][y]!=0)
{
a[x][y]=0;
sum++;
if(y>1) dfs(x,y-1);
if(y<n) dfs(x,y+1);
if(x>1) dfs(x-1,y);
if(x<n) dfs(x+1,y);
}
}
int main(int argc, char *argv[]) {
int i,j;
while (scanf("%d%d%d",&n,&x,&y)!=EOF)
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
dfs(x,y);
printf("%d\n",sum);
sum=0;
}
return 0;
}
int i,j;
while (scanf("%d%d%d",&n,&x,&y)!=EOF)
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
dfs(x,y);
printf("%d\n",sum);
sum=0;
}
return 0;
}
0 0
- 岛屿面积有多大(Dfs)
- 岛屿面积有多大(dfs算法)
- 岛屿的面积有多大
- 问题 I D.岛屿面积有多大
- 深度优先搜索与广度优先搜素(岛屿的面积有多大)
- 最大岛屿(dfs)
- 小白成长日记(15)--岛屿面积问题(算法设计--dfs深度优先搜索)
- 【南理oj】1237 - 最大岛屿(dfs)
- NYOJ 1237 最大岛屿(DFS)
- NYOJ 1237 最大岛屿(dfs)
- hihoCoder1310 岛屿 (dfs)
- 夹角有多大(2076)
- hiho一下 第156周 岛屿 (dfs)
- nyoj 1237 最大岛屿【dfs】
- NYOJ1237 最大岛屿(深搜DFS)
- NYOJ 1237 最大岛屿(DFS)
- 求有向面积(多边形面积)
- 心胸有多大事就能做多大
- UML(统一建模语言介绍)
- Android Handler原理理解
- 用eclipse上传项目到github上
- 金融业--贝塔系数、夏普比率、简森指数、特雷诺指数的含义和应用
- [LeetCode] 146. LRU Cache
- 岛屿面积有多大(Dfs)
- PAT甲 1029. Median (25)
- spring框架开发笔记 lesson1 IOC
- 如何解决 error LNK2001: unresolved external symbol ___glutInitWithExit@12
- 排序
- 欢迎使用CSDN-markdown编辑器
- 第0章 让我们谈谈学习方法和红帽系统。
- PAT甲 1032. Sharing (25)
- 搭建L2TP over IPSec VPN