#include<iostream>
using namespace std;
int book[51][51]={0};
int a[51][51];
int sum;
int n,m;
void dfs(int x,int y)
{int tx,ty;int k;//定义一个方向的数组int next[4][2]={{0,1},{1,0},{0,-1},{-1,0}};//枚举4个方向for(k=0;k<4;k++){//计算下一步的坐标tx=x+next[k][0];ty=y+next[k][1];//判断是否越界if(tx<1||tx>n||ty<1||ty>m){continue;}//判断是否是陆地if(a[tx][ty]>0&&book[tx][ty]==0){sum++;book[tx][ty]=1;//标记这个点已经走过dfs(tx,ty);//开始尝试下一个点}}return ;
}int main()
{int i,j;int startx,starty;cin>>n>>m>>startx>>starty;for(i=1;i<=n;i++){for(j=1;j<=m;j++){cin>>a[i][j];}}book[startx][starty]=1;sum=1;//从降落的位置开始dfs(startx,starty);cout<<sum<<endl;return 0;
}

宝岛探险1(DFS)相关推荐

  1. 搜索算法(三)--DFS/BFS求解宝岛探险问题(JAVA )

    宝岛探险问题 问题描述:某片海域有诸多岛屿,用0表示海洋,1-9表示陆地,现给定一个岛屿上的坐标点,求解所在岛屿的面积 思路:显然这是一个搜索算法,即只要从当前坐标点开始遍历,每遍历到一个点进行计数即 ...

  2. 宝岛探险(C语言 )(DFS+BFS)

    宝岛探险 某岛是由一个主岛和一些附属岛屿组成,小哼决定去某岛探险.下面这个10*10的二维矩阵就是某岛的航拍地图.图中数字表示海拔,0表示海洋,1~9表示陆地.小哼的飞机将会降落在(6,8)处,现在需 ...

  3. 2018-2-22 《啊哈,算法》再练习广度优先搜索,题:炸怪兽, 2-23改用深度优先搜索。宝岛探险(广度,深度,及地图着色)2-24水管工游戏,2-25测试水管工代码...

    2小时. 先是是纠错,通过对代码运行过程的测试.发现是变量打错.以及录入地图❌. 重构练习题,改使用while..end代替for in. ⚠️ : 在while(k <= n)中如果用到nex ...

  4. 搜索的实例——宝岛探险

    为了让搜索的思路更加清晰,再来尝试另一个例子,先看题. [题目描述] 小哼通过特殊方法得到了一张不完整的钓鱼岛航拍地图.钓鱼岛由一个主岛和一些附属岛屿组成,小哼决定去钓鱼岛探险,用二维矩阵代表钓鱼岛的 ...

  5. 数据结构(c++)--宝岛探险

    yan一个小岛由一个主岛和一些复附属岛屿组成,该岛使用一个二维矩阵表示,其中数字表示海拔,0表示海洋,1~9表示陆地.探险家乘坐飞机降落在(6,8)处,现在需要统计探险家降落的小岛的面积大小,我们将探 ...

  6. 【图论训练】深海探险【DFS】

    思路: 要求他是一个环,那么只要找出这个环,然后删掉一条边.整张图就变成了一颗树. c o d e code code #include<iostream> #include<cst ...

  7. 宝岛探险1(BFS)

    /* 0表示海洋 1~9都表示陆地 startx,starty为着陆地点 算出降落小岛的面积 */#include<iostream> using namespace std; struc ...

  8. 宝岛探险(求岛的大小)

    小人掉落到了(5,7)的位置,(从第0行第0列数),其中用0表示河,其他数字均表示为陆地,求小人掉落的岛的大小. /* 1210000023 3020121012 4010123201 3200012 ...

  9. [C] 深度优先搜索解决连通块/染色问题——求岛的个数

    本文介绍用DFS解决连通块个数问题 有关dfs的介绍见另外一篇:不撞南墙不回头--深度优先搜索 例题 宝岛探险 题目描述 一个小岛由一个主岛和一些复附属岛屿组成,该岛使用一个二维矩阵表示,其中数字表示 ...

最新文章

  1. [原]SQL解决“俯瞰金字塔”矩阵
  2. Docker桌面不再对企业用户免费,每月订阅费最高21美元,用户直接炸锅了
  3. Springmvc的静态资源映射配置
  4. 052_Drawer抽屉
  5. 【Paper】2020_Qize_Design of UGV Trajectory Tracking Controller in UGV-UAV Cooperation
  6. CCS v5 无法启动解决办法及Launchpad仿真器电脑无法识别解决方法
  7. CnCommon 的一些通用函数说明
  8. python中字典和集合对象是无序的_Python基础(四):元组、字典和集合
  9. linux 分配组命令,linux下一个用户如何分配给多个用户组?求命令,谢了。
  10. ssas还原数据库_SSAS数据库管理
  11. Mac无损音乐播放器:Audirvana
  12. Machine Learning ——Homework3
  13. 四级网络工程师笔记-计算机网络(下)
  14. CF1694B Paranoid String 构造/子串计数
  15. Python Selenium自动化测试框架 Test Suite测试套件
  16. 骑行318、 2016.7.21
  17. 使用C++ 编写嵌入式应用程序
  18. python实现输入一个字符串,输出每个字符的ASCLL码形成的列表
  19. css 文字溢出...显示,hover时显示隐藏文字
  20. Diffusion扩散模型学习1——Pytorch搭建DDPM实现图片生成

热门文章

  1. hiho 第118周 网络流四·最小路径覆盖
  2. 代码整洁之道 垃圾编码收集
  3. mysql 使用mysqldump 备份和还原
  4. 做手好菜,骗个好女孩做女朋友(一)
  5. SpringMVC工作原理的介绍
  6. Codeforces Round #552 (Div. 3) Editorial 1154C - Gourmet Cat
  7. Android笔记树
  8. vi/vim 按键说明
  9. 【图】max51开发板top页
  10. 【MVC5】对MySql数据库使用EntityFramework