4.5.3宝岛探险//DFSearch(又称着色法)
来源:互联网 发布:大数据融合 编辑:程序博客网 时间:2024/05/01 02:04
#include<iostream>using namespace std;int a[51][51];int book[51][51],n,m,sum;void dfs(int x,int y){//定义一个方向数组int next[4][2]={{0,1},//向右走{1,0},//向下走{0,-1},//向左走 {-1,0}//向上走};int k,tx,ty; //枚举4个方向 for(k=0;k<=3;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,startx,starty;cout<<"请输入n和m,n为行,m为列:"<<endl;cin>>n>>m;//读入起点坐标cout<<"请输入起点坐标:"<<endl;cin>>startx>>starty;//读入迷宫cout<<"请输入迷宫矩阵:"<<endl;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<<endl<<"岛屿大小为:"<<sum<<endl; getchar();return 0;}
0 0
- 4.5.3宝岛探险//DFSearch(又称着色法)
- 宝岛探险--着色法
- 4.5.4宝岛探险//着色法2
- 宝岛探险深度优先搜索(着色法)
- 4.5.2宝岛探险//BFSearch
- 宝岛探险
- 宝岛探险
- 宝岛探险
- 宝岛探险2
- 宝岛探险 BFS DFS
- 宝岛探险1(BFS)
- 宝岛探险1(DFS)
- DFS/BFS解决宝岛探险
- 4.5.1宝岛探险//Floodfill漫水填充法(也称种子填充法)——用于求图中独立子图的个数
- 广度优先搜索之宝岛探险
- tianchai 12035 宝岛探险 (BFS)
- 宝岛探险 深度优先—C
- 啊哈算法搜索应用之宝岛探险(BFS和DFS)
- 我的大数相加
- URAL
- NLPchina/ansj_seg
- hdu4027Can you answer these queries(区间更新查询+lazy)
- 数据链路及其相关技术
- 4.5.3宝岛探险//DFSearch(又称着色法)
- JSP:从入门到st2漏洞环境本地搭建
- LeetCode -1 Two sum
- Android Studio中创建keystore
- jS进度条
- 控制鼠标悬浮
- redux的认识
- 4.5.4宝岛探险//着色法2
- 腾讯云搭建Mysql+jdk+tomcat环境