hdu2063二分匹配基础
来源:互联网 发布:e世博网络博客 编辑:程序博客网 时间:2024/05/29 10:55
第一道二分匹配,这题自己的理解就是在两组人中,先枚举一组人,找到与其匹配的人,若该人未被匹配->标记匹配,否者递归找(与该人匹配的同一组人是否还有其他可匹配的关系)。不知道是不是这样,先做一些简单题吧!
这题不知道男生人数的输入有什么作用- -。而且开始的时候犯了个非常二的错误,把男生与女生输入顺序输错了!囧!!唉,弱菜无地自容啊。。
代码:
#include<iostream>#include<cstring>using namespace std;struct g{ int num; int boy[555];}gr[555];bool flag[555];int pre[555];int n,m;int DFS(int x){ for(int i=0;i<gr[x].num;i++) //男生 { if(!flag[gr[x].boy[i]]) //未被匹配 { flag[gr[x].boy[i]]=true; if(pre[gr[x].boy[i]]==-1||DFS(pre[gr[x].boy[i]])) { pre[gr[x].boy[i]]=x; //第几个女生 return 1; } } } return 0;}int main(){ int sum,k,a,b; while(cin>>k&&k!=0) { sum=0; cin>>m>>n; for(int i=0;i<=m;i++) gr[i].num=0; for(int i=0;i<k;i++) { cin>>a>>b; gr[a].boy[gr[a].num++]=b; } memset(pre,-1,sizeof(pre)); for(int i=1;i<=m;i++) //女生 { memset(flag,0,sizeof(flag)); sum+=DFS(i); } cout<<sum<<endl; } return 0;}
- hdu2063二分匹配基础
- hdu2063二分匹配基础
- HDU2063 二分匹配基础题目
- hdu2063(二分匹配基础)
- hdu2063 过山车(基础二分匹配)
- hdu2063 过山车(二分图最大匹配基础)
- HDU2063过山车(二分匹配)
- hdu2063 二分匹配
- hdu2063 过山车 二分匹配
- 二分匹配 hdu2063
- 二分匹配 HDU2063 过山车
- hdu2063 基础二分图匹配,安利一篇好文章
- HDU2063---过山车(二分图匹配基础题)
- HDU2063二分图最大匹配
- hdu2063 二分图最大匹配
- 二分匹配——hdu2063
- hdu2063过山车(二分匹配)
- HDU2063二分图匹配入门
- KVM: Posted Interrupt
- realoj 106 book类 按要求排序
- Win8系统如何用工具修改Win8字体
- 学习笔记: 反演几何
- jsp文件中charset和pageEncoding的区别
- hdu2063二分匹配基础
- 利用JMX监控Websphere Application Server6.1的J2EE应用服务运行状态
- windows下apache建立不同虚拟主机
- 悬权而动
- HDU1053--Entropy
- JavaScript学习笔记第二季
- 野指针,悬垂指针,垃圾内存,内存“黑洞”
- java_ constructor
- Eclipse快捷键