#P4021. [CTSC2012] 最短路
[CTSC2012] 最短路
题目描述
给定一个节点 和节点 连通的正权无向图,请你删除不超过 条边,使得节点 和节点 仍然连通的同时,这两点之间的最短路尽可能长 。
输入格式
本题为提交答案试题,输入文件(shortest1.in~shortest10.in)请在链接中下载。
输入文件 shortest*.in 的第一行包含三个正整数 。其中 表示节点数, 表示边数,节点的编号由 至 ,边的编号由 至 。接下来 行,
每行三个正整数 ,表示有一条连接节点 和节点 的边,权值为 。
输出格式
输出文件 shortest*.out 的第一行包含一个非负整数 ,表示需要删掉的边数。
接下来 行,每行一个 到 之间的整数 ,表示删掉输入中的第 条边。你需要保证这 个整数互不相同。
3 3 1
1 2 1
2 3 1
1 3 1
1
3
提示
样例说明
样例中从节点 到 的最短路径长度为 ,删去第三条边之后,最短路径长度为 。
评分标准
对于每个测试点,设有评分四个参数 。假设你的方案的最短路为 。
如果你没有输出,或者输出不合法,或者最短路不存在,得 分。
如果最短路存在,得 分。
如果 ,得 分。
如果 ,得 分。
如果 ,得 分。
如果 ,得 分。
如果 ,得 分。
取满足条件的分数中的最高得分为该测试点你的得分。
如何测试你的输出
首先先编译 checker.cpp。
在你的目录下有一个名为 checker 的程序可以用来检查你的输出,你可以在终端中使用以下命令来检查你的输出:
./checker N
其中 为测试点的编号;例如,要测试第 个测试点可以使用
./checker 3
该程序会检测你的输出方案是否合法。如果方案合法,程序还会给出该方案的最短路的长度值。
特别提示
请妥善保存输入文件和你的输出文件,及时备份,以免误删。