二分图匹配核心函数的两种写法
1判断语句内操作
int dfs(int x){
for(int i=0;i<ve[x].size();i++){
int y=ve[x][i];
if(!vis[y]&&(vis[y]=1)){
if(( (!g[y]) ||dfs(g[y]))&&(g[y]=x))return 1;
}
}
return 0;
}
2判断语句外操作
int dfs(int x){
for(int i=0;i<ve[x].size();i++){
int y=ve[x][i];
if(!vis[y]){
vis[y]=1;
if(((!~g[y])||dfs(g[y]))){
g[y]=x;return 1;
}
}
}
return 0;
}
请问两种有什么区别
请看两种方法的提交记录
判断句内操作WA
判断句外操作AC
求解答,玄关