U238762 深度优先搜索(DFS)

题目背景

## 思想 $1、$存起点坐标。 $2、$四个方向搜索邻居(们)。 $3、$递归搜索。 $4、$重复执行直到走通或者无路可走。 --- ### 特殊点:需要用到递归进行一层层的搜索 --- ## 代码 ```cpp #include using namespace std; const int N = 50; char a[N][N]; int b[N][N]; // 走迷宫标记 int n,m,flag; int g[4][2] = {1,0,0,1,-1,0,0,-1};//方向 void dfs(int sx,int sy){ if (sx == n && sy == m){ flag++; //走通了 return ; } for (int i = 0;i < 4;i++){ int tx = sx + g[i][0]; int ty = sy + g[i][1]; if (tx >= 1 && tx = 1 && ty > n >> m; for (int i = 1;i a[i][j]; } } b[1][1] = 1; dfs(1,1); if (flag) cout

题目描述

输入格式

输出格式