bool dfs(int u) { for(int i=1;i<=n;i++) { if(i==u||!e[u][i])continue;//这里为什么i不能等于u呢? if(vis[i])continue; vis[i]=true; if(!match[i]||dfs(match[i])) { match[i]=u; return true; } } return false; }
hack:
3 3 1 1 2 2 3 3
right answer: 3
3
code output: 0
0