#P1439. 挖地雷的算法

挖地雷的算法

题目描述
在一个地图上有 n 个地窖,每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径,并规定路径都是单向的,且保证都是小序号地窖指向大序号地窖,也不存在可以从一个地窖出发经过若干地窖后又回到原来地窖的路径。

某人可以从任一处开始挖地雷,然后沿着指出的连接往下挖(仅能选择一条路径),当无连接时挖地雷工作结束。设计一个挖地雷的方案,使他能挖到最多的地雷。

如下图所示:圆圈内的 1 2 3 4 5 6,代表6个地窖的编号,地窖编号旁边的数字代表这个地窖地雷的数量!

img

输入格式
第一行:地窖的个数 n ( 0 < n <= 200 );
第二行为依次每个地窖地雷的个数 aia_i ( 0 < aia_i <= 200 );
下面若干行:
两个整数 xi,yix_i,y_i , 表示从 xix_i 可到 yiy_i (0 < xix_i < yiy_i <= n)。
最后一行为"0 0",表示结束。

输出格式
第一行输出挖地雷的地窖编号的顺序: k1k_1-k2k_2-…-kvk_v
第二行输出一个整数,代表最多能挖到的地雷的数量

数据样例

6
5 10 20 5 4 5
1 2
1 4
2 4
3 4
4 5
4 6
5 6
0 0
3-4-5-6
34