二分图最大匹配(匈牙利算法)

mac2026-03-30  8

 

bool dfs(int x){ for(int i=head[x];i;i=nexts[i]){ int y=ver[i]; if(!visited[y]){//如果已经考虑过就不考虑了 visited[y]=1; if(!match[y]||dfs(match[y])){ match[y]=x; return true; } } } return false; } for(int i=1;i<=n;i++){ memset(visited,0,sizeof(visited)); if(dfs(i)) ans++; }

 

最新回复(0)