poj1469 二分图匹配学习
2015-08-04 13:06
323 查看
匈牙利算法详解:
/article/1613615.html
二分图最大匹配裸题 http://poj.org/problem?id=1469
/article/1613615.html
二分图最大匹配裸题 http://poj.org/problem?id=1469
#include <stdio.h> #include <string.h> #include <stack> #include <queue> #include <set> #include <map> #define N 1000 using namespace std; int n,p,lin ,cnt;//lin[i]:第个course相连的student bool mp ,used ; bool searc(int a){//判断是否能构成新的增广序列的函数 for(int j=1;j<=n;j++) if(mp[a][j]&&!used[j]){//连通且没用过 used[j]=1; if(lin[j]==-1 || searc(lin[j])){//无配对或构成增广序列 lin[j]=a; return true; } }//if return false; } int main(){ int T,num,temp; scanf("%d",&T); while(T--){ scanf("%d%d",&p,&n); cnt=0; memset(mp,0,sizeof(mp)); memset(lin,-1,sizeof(lin)); for(int i=1;i<=p;i++){ scanf("%d",&num); for(int j=1;j<=num;j++){ scanf("%d",&temp); mp[i][temp]=true; }//for_j }//for_i //匈牙利算法 for(int i=1;i<=p;i++){ memset(used,0,sizeof(used)); if(searc(i)) cnt++; } if(p==cnt) printf("YES\n"); else printf("NO\n"); }//while return 0; }
相关文章推荐
- Python Requests快速入门
- 2014年下半年阅读书单
- [关键字]const用法集锦
- git 使用笔记[待整理]
- ios 获取设备的ip地址
- 玲珑杯Unity开发心得——开始菜单GUI制作
- 金刚石图纹
- Spark入门三部曲之第三步Spark程序的开发和运行及WordCount
- python的一些总结2
- Understanding Java Garbage Collection
- 组播基础
- java小总结
- STL中的TBits使用
- 【从头开始写操作系统系列】使用 Bochs 调试操作系统
- 通过TortoiseGit来使用Github或Visual Studio Online版本控制管理
- hdu 1885 Key Task(状态压缩+bfs)
- 猫猫学iOS 之微博项目实战(8)用AFNetworking和SDWebImage简单加载微博数据
- 亿条数据在PHP中实现Mysql数据库分表100张
- pdf转换成html具体怎么转
- 数理逻辑资源