最短的道路有2种运输方式

时间:2014-01-14 14:19:23

标签: c++ graph dijkstra

我必须编写一个程序,计算从A到B的最短路径,考虑2种传输方式和最大更改方式。例如,我们有这样的输入:

A B 8 6 : 
B C 3 1 : 
C D 7 14 

其中A B C D是城市,而数字是'成本'他们之间:首先是汽车,第二是火车。用户写道,他希望使用最大的一次传输更改。所以在这个例子中它是14

(A->B(train) 
B->C(train)
C->D(car) 

并且没有任何改变仅限18辆车。当然,我将其表示为有向图。此外,我试图为每个城市制作2个顶点,以便#34;火车站"仅与#34;火车站连接"和#34;停车"只有"停车" +在它们之间制造边缘,表明过渡成本(汽车 - >火车,火车 - >汽车) - 成本更高,变化不会那么好(并且成本== 0 dijkstra将根据需要使用它多次让道路更短)。但是,我不知道更改传输的成本(以及如何计算)我应该使用用户编写的较低或相同数量的转换来获得最短路径。请帮帮我。

0 个答案:

没有答案