题目描述
你第一天接手三鹿牛奶公司就发生了一件倒霉的事情:公司不小心发送了一批有三聚氰胺的牛奶。
很不幸,你发现这件事的时候,有三聚氰胺的牛奶已经进入了送货网。这个送货网很大,而且关系复杂。你知道这批牛奶要发给哪个零售商,但是要把这批牛奶送到他手中有许多种途径。
送货网由一些仓库和运输卡车组成,每辆卡车都在各自固定的两个仓库之间单向运输牛奶。在追查这些有三聚氰胺的牛奶的时候,有必要保证它不被送到零售商手里,所以必须使某些运输卡车停止运输,但是停止每辆卡车都会有一定的经济损失。
你的任务是,在保证坏牛奶不送到零售商的前提下,制定出停止卡车运输的方案,使损失最小。
输入格式
第 $1$ 行两个整数 $N$、$M$,$N$ 表示仓库的数目,$M$ 表示运输卡车的数量。仓库 $1$ 代表发货工厂,仓库 $N$ 代表有三聚氰胺的牛奶要发往的零售商。
第 $2\sim M+1$ 行,每行 $3$ 个整数 $S_i$、$E_i$ 和 $C_i$。其中 $S_i$、$E_i$ 分别表示这辆卡车的出发仓库和目的仓库。$C_i$ 表示让这辆卡车停止运输的损失。
- $2 \le N \le 32$
- $0 \le M \le 10^3$
- $1 \le S_i \le N$
- $1 \le E_i \le N$
- $0 \le C_i \le 2 \times 10^6$
输出格式
两个整数 $C$ 和 $T$,$C$ 表示最小的损失,$T$ 表示在损失最小的前提下,最少要停止的卡车数。
接下来 $T$ 行,每行输出一个整数,表示你要停止哪几条线路。如果有多种方案使损失最小,输出停止的线路最少的方案。如果仍然还有相同的方案,请选择开始输入顺序最小的方案。
样例输入 #1
4 5
1 3 100
3 2 50
2 4 60
1 2 40
2 3 80
来源
USACO 4.4.2 Pollutant Control