http://poj.org/problem?id=1087
题意:大概就是一个房间有很多类型的插座,有很多要插专门类型插座的电器,和一堆转换头,求最少的无法充电的电器数。
题解:网络流。
建图:假设出超级源点s(0)与超级汇点t(400)。
原点与电器相连,容量为1,汇点与电源相连,容量为1,类相同的电源与电器相连,容量为1,有转换头的电源相连,容量为inf。
样例如图:
(灵魂画手)
一开始困扰我的是转换头的问题。把B电源转换成了C电源,我总想让C指向B,但实际上B转化成C电源,那么B电源就被用了,所以按照网络流的方向,应该是从B指向C。
另一个坑就是这题的点的编号不能连续编号,除非你把电源序号排在最后面,因为一开始的电源数不是最终的电源数,中间可能冒出来一个之前没有的X之类的。
代码:
#include
#include
#include
#include
#include