编程题
打印路径 ### 题目描述 蓝桥王国有 $N$ 个城市,任意两城市间有直通的路或没有路。每条路有过路费,并且经过每个城市都要交税。定义从 $a$ 城到 $b$ 城,其花费为路径长度之和,再加上除 $a$ 与 $b$ 外所有城市的过路费之和。 现给定若干对城市,请你打印它们之间最小花费的路径。如果有多条路经符合,则输出字典序最小的路径。 ### 输入描述 第一行给定一个 $N$ 表示城市的数量,若 $N=0$ 表示结束。 接下来 $N$行,第 $i$ 行有 $N$ 个数,$a_{i,1} \sim a_{i,n}$ ,其中 $a_{i,j}$ 表示第 $i$ 个城市到第 $j$ 个城市的直通路过路费,若 $a_{i,j} = -1$ 表示没有直通路。 接下来一行有 $N$ 个数,第 $i$ 个数表示第 $i$ 个城市的税。再后面有很多行,每行有两个数,表示起点和终点城市,若两个数是 $-1$,结束。 ### 输出描述 对给定的每两个城市,输出最便宜的路径经过哪些点,以及最少费用。 输出格式如下: ``` From a to b : Path: a-->a1-->......-->ak-->b Total cost : ...... ``` ### 输入输出样例 #### 示例 >输入 ```txt 3 0 2 -1 2 0 5 -1 5 0 1 2 3 1 3 2 3 -1 -1 0 ``` >输出 ```txt From 1 to 3 : Path: 1-->2-->3 Total cost : 9 From 2 to 3 : Path: 2-->3 Total cost : 5 ```
查看答案
赣ICP备20007335号-2