题意:有n头牛,f种食物,d种饮料,每头牛有自己喜欢的食物和饮料,问你最多能够几头牛搭配好,每种食物或者饮料只能一头牛享用;
解题思路:把牛拆点,因为流过牛的流量是由限制的,只能为1,然后,食物和牛的入点相连,牛的出点和饮料相连,求解最大流
代码:
#include#include #include #include #include using namespace std;const int maxn=200500;const int inf=0x3f3f3f3f;struct Edge{ int fa; int next; int to; int w;}edge[maxn];int n,m,f,d;int head[maxn];int cnt,Start,End;int x,y,w;int depth[maxn];void add(int u,int v,int w){ //cout< <<" "< <