#include #include #include #include #include #include #include #include using namespace std; const int MAX=205; const int inf=999999; struct node { int v,c,next; }g[MAX*MAX]; int adj[MAX],dis[MAX],cur[MAX],num[MAX],pre[MAX]; int n,m,e,s,t,vn,S,H; void add(int u,int v,int c) { g[e].v=v; g[e].c=c; g[e].next=adj[u]; adj[u]=e++; g[e].v=u; g[e].c=0; g[e].next=adj[v]; adj[v]=e++; } int sap() { int i,u,v,flag,aug=inf+1,flow=0; for(i=0;i<=vn;i++) { cur[i]=adj[i]; num[i]=dis[i]=0; } num[0]=vn; pre[s]=u=s; while(dis[s]