首页 > 其他 > 详细

Maximum Cardinality Bipartite Matching: Augmenting Path Algorithm

时间:2014-07-21 09:38:43      阅读:409      评论:0      收藏:0      [点我收藏+]

 

http://www.csie.ntnu.edu.tw/~u91029/Matching.html

 

 1 int nx,ny;
 2 int mx[N],my[N];
 3 bool vy[N];
 4 bool g[N][N];
 5 
 6 int decode(int x,int y)   {return x*15+y;}
 7 
 8 bool dfs(int x)
 9 {
10     for(int y=0;y<ny;++y)
11         if(g[x][y] && !vy[y])
12         {
13             vy[y]=1;
14             if(my[y]==-1 || dfs(my[y]))
15             {
16                 mx[x]=y;
17                 my[y]=x;
18                 return 1;
19             }
20         }
21     return 0;
22 }
23 
24 int b_matching()
25 {
26     memset(mx,-1,sizeof(mx));
27     memset(my,-1,sizeof(my));
28     int c=0;
29     for(int x=0;x<nx;++x)
30     {
31         memset(vy,0,sizeof(vy));
32         if(dfs(x))  ++c;
33     }
34     return c;
35 }

Maximum Cardinality Bipartite Matching: Augmenting Path Algorithm,布布扣,bubuko.com

Maximum Cardinality Bipartite Matching: Augmenting Path Algorithm

原文:http://www.cnblogs.com/someblue/p/3856151.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!