#P15619. [ICPC 2022 Jakarta R] City Hall
[ICPC 2022 Jakarta R] City Hall
说明
你是 ICPC 市的市长。该市有 个交叉路口,编号从 到 ,其中交叉路口 的海拔为 。你的家位于交叉路口 ,而市政厅位于交叉路口 。
市内有 条双向道路,编号从 到 ,用于连接这些交叉路口。道路 直接连接交叉路口 和 。每对交叉路口之间最多只能由一条道路直接连接。道路的连接方式保证了从任何一个交叉路口出发,都可以通过遍历一条或多条道路到达任何其他交叉路口。
每天早晨,你都会骑自行车从家前往市政厅。假设你正在遍历一条直接连接交叉路口 和 的道路,那么你通过该道路所消耗的能量为 。一条路径所需的总能量,就是该路径上遍历每条道路所消耗的能量之和。
作为市长,你被允许将最多一个交叉路口的海拔更改为任意非负实数。利用这个机会,你希望最小化从家骑自行车到市政厅所需的总能量。
输入格式
输入以 个整数 开始(;;;)。下一行包含 个整数 (),表示交叉路口 的海拔。
接下来的 行,每行包含 个整数 (),表示由道路 直接连接的交叉路口。每对交叉路口之间最多只能由一条道路直接连接。此外,道路的连接方式保证了从任何一个交叉路口出发,都可以通过遍历一条或多条道路到达任何其他交叉路口。
输出格式
在一行中输出一个实数,表示所需的最小总能量。只要你的答案的绝对误差不超过 ,即被视为正确。
5 6 1 3
5 100 8 2 10
1 2
2 3
2 5
1 4
4 5
3 5
4.500000
5 5 1 5
1 2 10 10 4
1 2
2 3
2 4
3 5
4 5
3.000000
5 4 1 4
8 8 8 8 100
1 2
2 3
3 4
4 5
0.000000
提示
样例输入/输出 #1 的解释
为了获得所需的最小总能量,你应该将交叉路口 的海拔更改为 。那么,骑行路线 所需的总能量为 。
样例输入/输出 #2 的解释
为了获得所需的最小总能量,你可以选择交叉路口 或交叉路口 ,并将其海拔更改为 。
样例输入/输出 #3 的解释
骑行路线 所需的总能量为 ,因为该路线上所有交叉路口的海拔都相同。更改任何交叉路口的海拔都不会减少所需的总能量。
翻译由 DeepSeek 完成
京公网安备 11011102002149号