二分图最大匹配模板
来源:互联网 发布:淘宝上怎么设置折扣 编辑:程序博客网 时间:2024/06/05 08:16
双向图模板:
#include <iostream>#include <cstdio>using namespace std;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;//把dfs(u)置为true } } } return 0; }int main(){ freopen("in.txt","r",stdin); 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++) match[i]=0; for(i=1;i<=n;i++){ for(j=1;j<=n;j++) book[j]=0; //清空上次搜索时的标记 if(dfs(i)) sum++; //寻找增广路,如果找到,配对数加1. } printf("%d",sum); return 0;}
单向模板(POJ 1274牛和牛棚的匹配)
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int e[500][500];int match[500];int book[500];int n,m;int dfs(int u){ int i; for(i=1;i<=m;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(){ //freopen("in.txt","r",stdin); int i,j,t1,t2,sum=0; int k,a; while(scanf("%d%d",&n,&m)!=EOF){ memset(e,0,sizeof(e)); memset(book,0,sizeof(book)); sum=0; for(i=1;i<=n;i++){ scanf("%d",&k); for(j=1;j<=k;j++) { scanf("%d",&a); e[i][a]=1; } } for(i=1;i<=n;i++) match[i]=0; for(i=1;i<=n;i++){ memset(book,0,sizeof(book)); //清空上次搜索时的标记 if(dfs(i)) sum++; //寻找增广路,如果找到,配对数加1. } printf("%d\n",sum); } return 0;}
0 0
- 二分图最大匹配模板
- 二分图最大匹配模板
- [模板]-二分图最大匹配
- hdu_1507 二分图,最大匹配 原创模板!
- hdu1150 二分图最大匹配模板
- hdu3829及二分图最大匹配模板
- 二分图最大匹配值的模板
- 二分图最大匹配(模板+题目)
- 二分图最大匹配算法模板
- 二分图最大匹配模板(匈牙利算法)
- 匈牙利算法模板 二分图最大匹配
- luogu3386【模板】二分图最大匹配
- 二分图的最大匹配模板
- POJ3041--二分图最大匹配模板
- 最大流 & 二分匹配模板
- 二分图的判断和二分图最大匹配模板
- 匈牙利算法,二分图最大匹配、多重匹配模板
- 二分图最大匹配模板【匈牙利;Dinic最大流】
- MongoDB数据操作
- BOM
- 原型图工具功能比拼1
- poj 2796
- Modular Programming with JavaScript-Packt Publishing 2016(读书笔记)
- 二分图最大匹配模板
- java工程_web.xml配置session有效期
- 对象锁和类锁的区别
- 实例:ABAP权限对象设计与权限检查的实现(详细)
- linux4.4安装实时补丁性能差异
- iptables 详解
- hdu 5839 Special Tetrahedron (判断四面体)
- 大数素性测试+大数质因数分解(miller-rabin,Pollard_rho算法)
- 验证签名机制——java示例