Problem 2061 --算法3-3:迷宫

2061: 算法3-3:迷宫

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $14$ 正确数量 $7$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签
有一个 10 x 10 的迷宫,起点是‘S’,终点是‘E’,墙是‘#’,道路是空格。一个机器人从起点走到终点。当机器人走到一个通道块,前面已经没有路可走时,它会转向到当前面向的右手方向继续走。如果机器人能够过,则留下足迹‘*’,如果走不通,则留下标记‘!’。
下面给出书中的算法,请你模拟机器人的走法输出最终的状态。
图:迷宫算法

一个 10 x 10 的二维字符数组。

机器人走过的路径状态。

##########
#S #   # #
#  #   # #
#    ##  #
# ###    #
#   #    #
# #   #  #
# ### ## #
##      E#
##########
##########
#**#!!!# #
# *#!!!# #
#**!!##  #
#*###    #
#***#    #
# #***#  #
# ###*## #
##   ****#
##########
提示:
位置,元素以及迷宫的类型定义:
typedef struct{
    int r, c;      // 以行号和列号作为“坐标位置”类型
}PosType;
 
typedef struct{
    int ord;       // 通道块在路径上的序号
    PosType seat; // 通道块在迷宫中的“坐标位置”
    int di;            // 从此通道块走向下一通道块的“方向”
}SElemType;           // 定义堆栈元素的类型
 
typedef struct{
    char arr[10][11];
}MazeType; // 定义迷宫类型(二维字符数组)
总结:
可以试着自己写个dfs(深度优先搜索)。

推荐代码 查看2061 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$0 $ms] 刘劲松 676354 2020-12-04 20:22:05
内存最少[$948 $KB] 范晋豪@信息与计算科学142 152672 2017-11-16 15:10:13
第一AC 范晋豪@信息与计算科学142 152671 2017-11-16 15:10:13
第一挑战 范晋豪@信息与计算科学142 152671 2017-11-16 15:10:13

赛题来源/所属竞赛 数据结构高分笔记 数据结构高分笔记

竞赛编号 竞赛名称 竞赛时间 访问比赛