| 2 | int q[MAXV], p[MAXV], d[MAXV]; |
| 3 | struct flow_network { |
| 4 | struct edge { int v, nxt, cap; |
| 5 | edge(int _v, int _cap, int _nxt) |
| 6 | : v(_v), nxt(_nxt), cap(_cap) { } }; |
| 7 | int n, *head; vector<edge> e, e_store; |
| 8 | flow_network(int _n) : n(_n) { |
| 9 | memset(head = new int[n], -1, n*sizeof(int)); } |