码迷,mamicode.com
首页 > 其他好文 > 详细

匈牙利游戏

时间:2016-08-09 22:12:26      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

【题目描述】

布达佩斯的街道形成了一个弯曲的单向网络。你要参加一个赛跑,比赛中你需要穿越这些街道,从s开始,到t结束。

要求写一个程序来计算一个从s到t的严格次短路线。

严格次短路线可能访问某些节点不止一次,样例2是一个例子。

【输入描述】

第一行包含两个整数N和M,N代表布达佩斯的节点个数,M代表边的个数。节点编号从1到N。1代表出发点s,N代表终点t。接下来的M行每行三个整数A、B、L,代表有一条从A到B的长度为L的单向同路。你可以认为A不等于B,也不会有重复的(A,B)对。

【输出描述】

输出从s到t的严格次短路的长度。如果从s到t的路少于2条,输出-1。

【样例输入】

样例1:

4 6

1 2 5

1 3 5

2 3 1

2 4 5

3 4 5

1 4 13

 

样例2:

2 2

1 2 1

2 1 1

【样例输出】

样例1:

11

 

样例2:

3

【数据范围及提示】

样例1:

有两条长度为10的最短路径(1 → 2 → 4,1 → 3 → 4)并且有一条长度为11的严格次短路径(1 → 2 → 3 → 4)。

 

样例2:

有一条长度为1的最短路径(1 → 2)并且有一条长度为3的严格次短路径(1 → 2 → 1 → 2)。

匈牙利游戏

标签:

原文地址:http://www.cnblogs.com/Ackermann/p/5754683.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!