先看错误代码
bool dfs(int u){
for(auto v:to[u]){
if(!vis[v]){
vis[v]=1;
if(p[v]==0||dfs(v)){
p[v]=u;
return 1;
}
}
}
return 0;
}
hack数据:
4 4 6
1 1
1 3
2 1
2 2
3 1
4 1
改为:
bool dfs(int u){
for(auto v:to[u]){
if(!vis[v]){
vis[v]=1;
if(p[v]==0||dfs(p[v])){
p[v]=u;
return 1;
}
}
}
return 0;
}