题目
N种奶牛,F种食物,D种饮料
第i只奶牛有fi种喜欢的食物,di种喜欢的饮料
思路来源
《挑战程序竞赛》
题解
s->食物->奶牛1->奶牛2->饮料->t

把奶牛拆成两个点,两个点之间连1的流量,
代表只有一个食物可以经过奶牛这个点
同时也就只会有一的流量流进食物这个点
然后就网络流就好了,注意每次建正向边之后立刻建反向边
有向图反向边赋0,无向图反向边赋和正向边一样的权值
再就是注意一下s->食物和饮料->t这些边要预处理
不然会加多边,导致一个下午也查不出来
心得
并不喜欢严格把点按数量增序堆在一起的方式
可能还是自己太笨吧QAQ明明就四百个点何必呢
代码
#include
#include
#include
#include
#include