匈牙利算法(二分图模板)
2013-08-21 10:02
363 查看
匈牙利算法:
#define N 1111 int vx,vy; ///二分图的顶点集合 int graph ; ///邻接矩阵 int link ; ///标记vy中的点在vx中的编号 bool vis ; ///标记vy的点是否访问过 bool dfs(int u){ ///增广路搜索 for(int j=1;j<=vy;j++) { if(graph[u][j] && !vis[j]) ///u到j有边且未被访问过 { vis[j]=true; ///标记已访问过 if(link[j]==-1 || dfs(link[j])) ///若不属于前一个匹配或者被j匹配到的点可以找到增广路 { link[j]=u; ///更新匹配 return true; ///返回匹配成功的标志 } } } return false; ///继续找下一个点 } int hungary(){ ///匈牙利算法 int Max_match=0; ///最大匹配数初始化为0 for(int i=1;i<=vx;i++) { memset(vis,false,sizeof(vis)); ///清空上次搜索的标记 if(dfs(i)) ///从1开始搜到vx Max_match++; ///若找到则匹配数加一 } return Max_match; }
相关文章推荐
- hihocoder #1122 二分图二•二分图最大匹配之匈牙利算法(*【模板】应用 )
- 二分图最大匹配算法-匈牙利算法(Hungary)模板
- (模板题)poj 3041 Asteroids(二分图的最大匹配匈牙利算法)
- 匈牙利算法模板 二分图最大匹配
- NYOJ 题目239 月老的难题 (二分图最大匹配-匈牙利算法模板)
- 二分图最大匹配(匈牙利算法-DFS增广模板)
- 二分图匈牙利算法模板
- 【匈牙利算法】二分图最大匹配(模板)
- 透彻解析二分图最大匹配匈牙利算法模板
- 【匈牙利算法】 二分图模板 poj 1274
- 【模板】匈牙利算法 二分图最大匹配题模板
- 【模板】匈牙利算法——二分图最大匹配
- 二分图最大匹配(匈牙利算法Dfs模板)
- 二分图最大匹配 匈牙利算法 (自己写的模板)
- 常用的二分图模板 匈牙利算法
- 求二分图最大匹配——匈牙利算法模板。
- 二分图最大匹配匈牙利算法(poj)3041(模板)
- HDOJ题目1068Girls and Boys(二分图最大独立集,匈牙利算法模板)
- 二分图最大匹配模板(匈牙利算法)
- 匈牙利算法求二分图的最大匹配/匈牙利算法模板