0%

【模板】二分图最大匹配 - 匈牙利算法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int vis[maxN];
int match[maxN];

bool find(int x){
for(int i = head[x];i;i = edge[i].nxt){
int v = edge[i].to;
if(!vis[v]){
vis[v] = 1;
if(!match[v] || find(match[v])){
match[v] = x;
return true;
}
}
}
return false;
}