P3376 【模板】网络最大流
P3376 【模板】网络最大流 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int maxn = 10005, inf = 0x3f3f3f; 4 struct Edge { 5 int from, to, cap, flow; 6 }; 7 8 struct Dinic { 9 int n, m, s, t; 10 vector<Edge> edges; 11 vector<int> G[maxn]; 12 bool vis[maxn]; 13 int d[maxn]; 14 int cur[maxn]; 15 16 void AddEdge(int from, int to, int cap) { 17 edges.push_back((Edge){from, to, cap, 0}); 18 edges.push_back((Edge){to, from, 0, 0}); 19 m = edges.size(); 20 G[from].push_back(m-2); 21 G[to].push_back(m-1); 22 } 23 bool bfs() { 24 memset(vis, 0, sizeof(vis)); 25 queue<int> que; 26 que.push(s); 27 d[s]