POJ 3068 "Shortest" pair of paths 已翻译

来源:互联网 发布:黄伟文十大经典知乎 编辑:程序博客网 时间:2024/05/20 03:07

描述

化工公司有一个不寻常的最短路径问题。

有N个仓库(顶点),可以存储化学品。有M个单独的运输方法(边缘)连接站点对。每个单独的运送方式都有成本。在通常的问题中,公司将需要找到将单个货物从第一仓库(0)路由到最后(N-1)的方式。这很容易。他们似乎更难的问题。他们必须从第一仓库(0)到最后一个(N-1)运送两种化学品。化学品是危险的,不能安全地放在一起。该法规规定该公司不能对两种化学品使用相同的运输方法。此外,公司不能将两种化学品放在同一个仓库(任何时间长度),没有特殊的储存处理---只能在第一个和最后一个仓库。首先,他们需要知道是否可能在这些约束下运输这两种化学品。接下来,他们需要找到从第一仓库到最后一个仓库运输这两种化学品的最低成本。简而言之,他们需要两个完全独立的路径(从第一个仓库到最后一个),两者的总成本是最小的。

您的计划必须简单地确定最低成本,如果不可能,最终确定不能进行装运。

输入

输入将包括多个案例。每个输入的第一行将包含N和M,其中N是仓库的数量,M是单个发运方法的数量。您可以假设N小于64,M小于10000.接下来的M行将包含三个值,i,j和v。每行对应一个唯一的运送方法。值i和j是两个仓库的索引,v是从i到j的成本。请注意,这些送货方法是定向的。如果有东西可以从i到j以成本10运送,这说明从j到i运费。此外,在任何一对仓库之间可以有多种方式运输,这在这里可能很重要。
包含两个零的行表示数据的结束,不应进行处理。

输出

遵循样本输出的输出格式。


0 0
原创粉丝点击