C++数据结构,在线求大神帮忙!急!

Description
 请写一个算法,给出从迷宫的指定起点到终点的最短走法。


具体请实现名为solveMaze的函数,ADT为:


void solveMaze(Maze p):
前置条件:没有
输入:迷宫p
功用:找到并打印从迷宫的指定起点到终点的最短走法。打印格式参照Output。
输出:没有。
后置条件:没有


迷宫Maze类别的ADT如下:


Maze():造一个新的迷宫。(在本题应该用不上)
bool isAtGoal():测试现在位置是否为终点。
Pos curPos(): 回传现在位置。
bool canMoveUp():从现在位置能否向上走。
bool canMoveDown():从现在位置能否向下走。
bool canMoveLeft():从现在位置能否向左走。
bool canMoveRight():从现在位置能否向右走。
void moveLeft():从现在位置向左走。如果走不了,就不动。
void moveRight():从现在位置向右走。如果走不了,就不动。
void moveUp():从现在位置向上走。如果走不了,就不动。
void moveDown():从现在位置向下走。如果走不了,就不动。
void printLayout():打印这个迷宫。


Input
没有 


Output
 走到终点的方法。每一行一个指令,可以是: "Down", "Up", "Left", "Right" 中的任何一个。无论是否最后一个指令,都在指令后换行。


 



比如上例来说(红色为起点,蓝色为终点),就是:


Down
Down
Down
Right
Right
Right
Up

  • 1
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

Imp_Omp

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值