Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <iostream>#include <cstring>#include <queue>using namespace std;static const int INF = 1e9;//±È0x3f3f3f3f»¹´óstatic const int MAXN = 100000;struct Edge{int from,to,cap,flow;Edge(int f,int t,int c,int ff):from(f),to(t),cap(c),flow(ff) {};};vector<Edge> edges;vector<int> G[MAXN];int N,M,S,T,i,j;int iter[MAXN],level[MAXN];bool vis[MAXN];void add_edge(int from ,int to ,int cap){edges.push_back(Edge(from , to , cap , 0 ));edges.push_back(Edge(to , from , 0 , 0));int sz = edges.size();G[from].push_back(sz-2);//¼Ç¼ÔÚEdge ÀïÃæµÄλÖÃG[to].push_back(sz-1);}bool BFS( )