这样写会 WA 一个点
bool dfs(int x,int tmp){
if(vis[x]==tmp)return 0;
vis[x]=tmp;
for(int i=head[x];i;i=ne[i]){
int u=ver[i];head[x]=i;
if(!owr[u]||dfs(owr[u],tmp)){
owr[u]=x;
return 1;
}
}
return 0;
}
下面两种写法都是能过的
bool dfs(int x,int tmp){
if(vis[x]==tmp)return 0;
vis[x]=tmp;
for(int i=head[x];i;i=ne[i]){
int u=ver[i];
if(!owr[u]||dfs(owr[u],tmp)){
owr[u]=x;
return 1;
}head[x]=i;
}
return 0;
}
bool dfs(int x,int tmp){
if(vis[x]==tmp)return 0;
vis[x]=tmp;
for(int i=head[x];i;i=ne[i]){
int u=ver[i];
if(!owr[u]||dfs(owr[u],tmp)){
owr[u]=x;
return 1;
}
}
return 0;
}