这里附上题目链接:迷宫。
~~手动分割~~
题目
~~手动分割~~
思路解析
一道十分显然的搜索题!!!
-
从出发点开始向四个方向搜索;
-
每计算一个新点坐标,
若坐标未越界且该点既不是障碍也没有被访问过,则
①将该点标记为已访问;
②依次遍历四个方向;
③回溯时将标记复原(将此点标记为未访问);若该点是终点,结果加一;
-
输出结果。
陷阱
题目只保证出发点不是障碍,并没有保证终点不是障碍。
例如以下测试数据:
3 3 2
1 1 3 3
2 2
3 3
结果为0.
解法
1.DFS
AC代码:
#include <stdio.h>
#include <stdlib.h>
int n,m,t;//迷宫地图有n行m列;共有t个障碍
int visit[6][6],sum;
int start_x,start_y,end_x,end_y;//出发点和终点坐标
int location[4][2]={
{