Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <queue>#include <cstring>using namespace std;#define MAX_N 501#define INF 0x3f3f3f3fint cf[MAX_N][MAX_N];int path[MAX_N];int capacity[MAX_N];bool visited[MAX_N];queue<int> q;int cut[MAX_N];int min(int a, int b){return a < b ? a : b;}int findAugmentPath(int s, int t){while(!q.empty()){q.pop();}memset(visited, 0, sizeof(visited));memset(capacity, 0, sizeof(capacity));q.push(s);visited[s] = true;capacity[s] = INF;while(!q.empty()){int u = q.front();