#include #include #include #include #define MAXN 20005 #define Lim 75 #define INF (1<<30) #define max(a,b) (a>b?a:b) #define min(a,b) (a=0&&dx=0&&dy0&&dis[u]==dis[v]+1) { flag=true; aug=min(aug,E[j].w); pre[v]=u; u=v; if(u==t) { ans+=aug; while(u!=s) { u=pre[u]; E[cur[u]].w-=aug; E[cur[u]^1].w+=aug; } aug=INF; } break; } } if(flag) continue; int mindis=n; for(i=head[u];i!=-1;i=E[i].next) { v=E[i].v; if(E[i].w>0&&dis[v]=0&&dx=0&&dy