[AHOI2009] 最小割
题目描述
A,B两个国家正在交战,其中A国的物资运输网中有$N$个中转站,$M$条单向道路。设其中第$i (1≤i≤M)$条道路连接了$v_i,u_i$两个中转站,那么中转站$v_i$可以通过该道路到达$u_i$中转站,如果切断这条道路,需要代价$c_i$。
现在B国想找出一个路径切断方案,使中转站$s$不能到达中转站$t$,并且切断路径的代价之和最小。
小可可一眼就看出,这是一个求最小割的问题。但爱思考的小可可并不局限于此。现在他对每条单向道路提出两个问题:
- 问题一:是否存在一个最小代价路径切断方案,其中该道路被切断?
- 问题二:是否对任何一个最小代价路径切断方案,都有该道路被切断?
现在请你回答这两个问题。
输入输出格式
输入格式
第一行有$4$个正整数,依次为$N,M,s,t$。
第$2$行到第$(M+1)$行每行$3$个正整数$v,u,c$,表示$v$中转站到$u$中转站之间有单向道路相连,单向道路的起点是$v$, 终点是$u$,切断它的代价是$c(1≤c≤100000)$。
注意:两个中转站之间可能有多条道路直接相连。 同一行相邻两数之间可能有一个或多个空格。
输出格式
对每条单向边,按输入顺序,依次输出一行,包含两个非$0$即$1$的整数,分别表示对问题一和问题二的回答(其中输出$1$表示是,输出$0$表示否)。 同一行相邻两数之间用一个空格隔开,每行开头和末尾没有多余空格。
输入输出样例
输入样例 #1
6 7 1 6
1 2 3
1 3 2
2 4 4
2 5 1
3 5 5
4 6 2
5 6 3
输出样例 #1
1 0
1 0
0 0
1 0
0 0
1 0
1 0
说明
设第$(i+1)$行输入的边为$i$号边,那么$\{1,2\},\{6,7\},\{2,4,6\}$是仅有的三个最小代价切割方案。它们的并是$\{1,2,4,6,7\}$,交是 $\{\varnothing \}$ 。
测试数据规模如下表所示
数据编号|N|M|数据编号|N|M
-|-|-|-|-|-
1|10|50|6|1000|20000
2|20|200|7|1000|40000
3|200|2000|8|2000|50000
4|200|2000|9|3000|60000
5|1000|20000|10|4000|60000