深搜算法
经典题目 一 密宫
问题描述 从S出发 到达终点T 只能走“ . ” "*"不能走 走过的路用m替换
输入格式
5 6
....S*
.***..
.*..*.
*.***.
.T....
输出格式
....m*
.***mm
.*..*m
*.***m
.Tmmmm
基本思路
按照逆时针的路线走 上左下右的方式走
走不通了原路返回 继续换个方向走 直到走到终点为止
递归 回溯 深搜的算法思想
代码如下
#include< iostream>
#include< string>
using namespace std;
int n,m,tx,ty;
string maze[110]; //二维数组
bool vis[105][105];//标记函数
bool in(int x,int y) //判断坐标是否越界
{
return 0<=x&&x<n&&0<=y&&y<m;
}
bool dfs(int x,int y) //搜索查找函数
{
if(maze[x][y]=='T')
{
return true;
}
vis