ZOJ 3229 Shoot the Bullet(二)

2015-07-20 17:35:06 · 作者: · 浏览: 10
r(int i=Adj[u];~i;i=edge[i].next) if(edge[i].cap-edge[i].flow&&dep[edge[i].to] 0) { sum+=in[i]; addedge(n+m+2,i,in[i]); } } int MaxFlow=sap(n+m+2,n+m+3,n+m+4); if(MaxFlow!=sum) puts("-1"); else { Adj[n+m+2]=Adj[n+m+3]=-1; MaxFlow=sap(0,n+m+1,n+m+4); printf("%d\n",MaxFlow); for(int i=0;i