找到多个起始位置的最短路径

时间:2016-07-18 00:53:33

标签: algorithm graph

迷宫的大小为N×M,有墙壁和走廊。迷宫中的某处有黄金,迷宫中也有一些人。任务是找到从某人到奖品的最短路径,以及哪个人将获得奖品。

如果只有一个人,我知道如何解决它,但如果不止一个人,我知道如何解决。

输入如下。在第一行N,M和Q(输入人数)。输入N行M个字符(用于走廊,#用于墙)。然后在Q行上输入每个人的坐标。

如果有人可以获得黄金,程序应该输出最短路径的长度以及哪个人获得它(如果多于一个人同时获得它的任何一个是正确的输出) 。如果没有路径,程序应该输出-1。

1 个答案:

答案 0 :(得分:1)

解决这个问题的最简单方法是从黄金开始,使用BFS(广度优先搜索)找到任何人的最短路径。这是我的实施:

change