二分图最大匹配
来源:互联网 发布:js syntax error 编辑:程序博客网 时间:2024/06/02 03:03
代码实现是通过(连锁反应)实现的,也叫增广路,每次发现一次增广路配对数就加1.
增广路本质就是一条路径的起点和终点都是未被配对的点。
如果)前匹配方案下再也找不到增广路,(继续对剩下没有被匹配的点一一进行配对,直到所有的点都尝试完毕,找不到新的增广路为止
/*input: 6 51 41 52 52 63 4output: 3*/#include<stdio.h>int e[101][101];int match[101];int book[101];int n,m;int dfs(int u){int i;for(i=1;i<=n;i++){if(book[i]==0&&e[u][i]==1){book[i]=1;//如果点i未被配对或者找到了新的配对 if(match[i]==0||dfs(match[i])){//更新配对关系 match[i]=u;match[u]=i;return 1;}}}return 0;}int main(){int i,j,t1,t2,sum=0;scanf("%d%d",&n,&m);for(i=1;i<=m;i++){scanf("%d%d",&t1,&t2);e[t1][t2]=1;e[t2][t1]=1;}for(i=1;i<=n;i++){for(j=1;j<=n;j++) book[j]=0;//清空上一次搜索时的标记 if(dfs(i)) sum++;}printf("%d\n",sum);return 0;}
)那么当前匹配就是最大匹配了。
0 0
- 二分图最大匹配
- 二分图最大匹配 。
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图 最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图 最大匹配
- 二分图最大匹配
- endianness
- poj 2417 baby_step giant_step 高次同余方程
- 我想知道Java虚拟机是啥
- 代码中设置drawableleft
- MySQL 5.7.17 免安装版本的安装,配置及MySQL的密码修改
- 二分图最大匹配
- 无监督学习(unsupervised learning) 1.线性方法
- hdu2717 Catch That Cow----BFS
- Sublime 使用
- 记录下发现神书,感觉自己的python水平又要上一个台阶了
- CodeForces 301B Yaroslav and Time
- 1.简介以及环境搭建
- 2.python中文编码
- windows下好用软件:closeADs+everything+Ditto