int ans = 0;
bool find(int i){
for(int j = h[i];j!=-1;j=ne[j]){
int k = e[j];
if(!st[k]){
st[k] = true;
if(!match[k] || find(match[k])){
match[k] = i;
return true;
}
}
}
return false;
}
for(int i =1;i<=n;i++){
memset(st,false,sizeof st);
if(find(i)) ans++;
}
cout<<ans<<endl;
京公网安备 11010502036488号