Ejemplo n.º 1
0
 /**
  * Return maxflow from ini to end
  */
 int maxflow(int ini, int end) {
   flow = vi(SZ(dest));
   int F = 0;
   while (MFbfs(ini, end)) while (true) {
     int tmp = MFdfs(ini, end, INF);
     F += tmp;
     if (tmp == 0) break;
   }
   return F;
 }
Ejemplo n.º 2
0
  int maxflow(int ini, int end) {
    if (_ini != ini || _end != end) {
      flow = vi(sz(dest));
      _ini = ini;
      _end = end;
    }
    while (MFbfs(ini, end))
      while (MFdfs(ini, end, INF));
    int F = 0;
		for (int a : adj[ini]) F += flow[a];
    return F;
  }