bool g[maxn][maxn];
bool vis[maxn];
int line[maxn];
//寻找增广路O(VE)
bool dfs(int u,int n)
{
for(int v = 0; v < n; v++)
{
if(g[u][v] && !vis[v])
{
vis[v] = true;
if(line[v] == -1 || dfs(line[v],n))
{line[v] = u;return true;}
}
}
return false;
二分图匹配——匈牙利算法模板
最新推荐文章于 2018-10-15 14:36:02 发布