如何在DAG中找到到达4个目的地的最短路径?

时间:2019-10-05 16:11:33

标签: java path-finding directed-acyclic-graphs

我对编码还很陌生,我在学校加入了编程俱乐部,正在解决CodeQuest 2018的澳大利亚数据包中的一些问题,并陷入一个问题,特别是问题23:统治迪士尼:问题如下:-

您的家人将在一年中最忙的时候去佛罗里达州奥兰多市的迪斯尼乐园,所以您需要计划最有效的方式来搭乘最受欢迎的游乐设施:加勒比海盗,七矮人矿山列车,太空山和飞溅山。您面临的挑战是找到最快的方式来浏览人群,停放的婴儿车和性格满足的人。

下面的地图显示了所有四个游乐设施的位置以及通往它们的路径。您将获得走每条路径所花费的时间。如果两个或多个路径之间存在联系,请选择以最小路径号开头的路径。例如,如果路径#1>路径#2>路径#4>路径#6与路径#7>路径#6>路径#4>路径#2花费的时间相同,则应选择第一个选项。有时,重新体验您曾经去过的游乐设施可能是最快的!

地图:https://imgur.com/a/2xuUrPW

程序输入: Prob23.in.txt文件的第一行将包含一个正整数T,该整数表示随后的测试用例的数量。每个测试用例将具有以下输入: 一条直线,其中七个正整数之间用空格分隔,对应于在上述地图中行走七个路径中的每个路径所花费的时间。路径时间将按顺序排列,从路径1的时间开始,以路径7的时间结束。所有路径时间都将大于0。

示例输入:

3
5 10 7 6 2 4 12
15 8 20 7 20 5 10
4 8 10 6 6 8 10
输出: 1 2 4 6
7 6 4 2
1 2 4 6

这是一些入门代码:

const STORE = {
    question: [
        {
            questionText: "This is the first question",
            responses: [
                "First response",
                "second response",
                "third response"
            ],
            answer: "first response"
        }
    ]
}

我在网上搜索了类似的内容,并且遇到了DAG,我认为是上面提供的图表。但是我不知道它们是什么以及它们如何工作,我找不到任何资源可以给我一个清晰的解释。如果这个问题令人讨厌,我真的很抱歉。感谢您提供任何帮助。再次抱歉,谢谢!

我尝试过的事情:
一个一个地去每个站。但这并不能提供最快的路线,只是提供最快的路线,以防您按顺时针顺序前往车站。

0 个答案:

没有答案