题目描述
有一个 10 x 10 的迷宫,起点是‘S’,终点是‘E’,墙是‘#’,道路是空格。一个机器人从起点走到终点。当机器人走到一个通道块,前面已经没有路可走时,它会转向到当前面向的右手方向继续走。如果机器人能够过,则留下足迹‘*’,如果走不通,则留下标记‘!’。
下面给出书中的算法,请你模拟机器人的走法输出最终的状态。
图:迷宫算法
输入
一个 10 x 10 的二维字符数组。
输出
机器人走过的路径状态。
样例输入
##########
#S # # #
# # # #
# ## #
# ### #
# # #
# # # #
# ### ## #
## E#
##########
样例输出
##########
#**#!!!# #
# *#!!!# #
#**!!## #
#*### #
#***# #
# #***# #
# ###*## #
## ****#
##########
注意点:
- —方向是顺时针进行探索
- — 在s->top++中,用括号(s->top)++,优先级的问题,已经被这个点坑了两次了
其余没什么好说的,具体的步骤已经写在注释里
#include<stdio.h>
#include<stdlib.h>
#define N 10
#define STACK_INIT_SIZE 100
#define STACKINCREMENT