二分图匹配笔记
Posted Altria Pendragon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分图匹配笔记相关的知识,希望对你有一定的参考价值。
匈牙利算法
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 int match[501],n,m,a,b,ans=0; 6 bool used[501],map[501][501]; 7 bool check(int u){ 8 for(int i=1;i<=m;i++){ 9 if(map[u][i]&&!used[i]){ 10 used[i]=true; 11 if(!match[i]||check(match[i])){ 12 match[i]=u; 13 return true; 14 } 15 } 16 } 17 return false; 18 } 19 int main(){ 20 memset(map,0,sizeof(map)); 21 memset(match,0,sizeof(match)); 22 scanf("%d%d",&n,&m); 23 for(int i=1;i<=m;i++){ 24 scanf("%d%d",&a,&b); 25 map[a][b]=true; 26 } 27 for(int i=1;i<=n;i++){ 28 memset(used,0,sizeof(used)); 29 if(check(i))ans++; 30 } 31 printf("%d",ans); 32 }
以上是关于二分图匹配笔记的主要内容,如果未能解决你的问题,请参考以下文章
二分图匹配入门专题1I - Hiding Gold light oj 1152二分图匹配-------------------我是终于不那么水的水题分割线------------------(代码片