分析:
建图比较复杂 房间连源点 菜连汇点
注意人可能被重复用 所以把人拆成两个点 一个和房间连 一个和菜连 两点再连上就好了
其他正常 D i n i c Dinic Dinic即可
CODE:
#include<cmath>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<iostream>
#include<queue>
using namespace std;
typedef long long ll;
const int N=1e5+5,inf=0x7fffffff;
struct node{
int to,next,k;
}a[N<<1];
int n,p,S,T,q,tot=1,head[505],dep[505],cur[505];
void add(int x,int y,int k