您的位置:首页 > 其它

二分匹配模板

2014-07-29 15:17 183 查看
bool dfs(int u)
{
for(int i = 0; i < n; i++)
{
if(!used[i] && maz[u][i])
{
used[i] = true;
if(match[i] == -1 || dfs(match[i]))
{
match[i] = u;
return true;
}
}
}
return false;
}
int bipartite()
{
int res = 0;
memset(match, -1, sizeof(match));
for(v = 0; v < n; v++)
{
memset(used, 0, sizeof(used));
if(dfs(v))
res++;
}
return res;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: