博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu1083Courses 二分匹配
阅读量:5057 次
发布时间:2019-06-12

本文共 871 字,大约阅读时间需要 2 分钟。

直接模板

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#define N 23541using namespace std;int t[305][305];int girl[305],boy[305];int visit[305];int num,p,n,student,istud;int dfs(int u){ for(int i=1;i<=n;i++) { if(t[u][i]&&!visit[i]) { visit[i]=1; if(boy[i]==0||dfs(boy[i])) { girl[u]=i; boy[i]=u; return 1; } } } return 0;}bool maxmatch(){ memset(girl,0,sizeof(girl)); memset(boy,0,sizeof(boy)); for(int i=1;i<=p;i++) { if(girl[i]==0) { memset(visit,0,sizeof(visit)); if(dfs(i)==0) return false; } } return true;}int main(){ cin>>num; while(num--) { memset(t,0,sizeof(t)); cin>>p>>n; for(int i=1;i<=p;i++) { cin>>student; while(student--) { cin>>istud; t[i][istud]=1; } } if(maxmatch()) cout<<"YES"<

转载于:https://www.cnblogs.com/LandingGuy/p/9280280.html

你可能感兴趣的文章
桌面图标修复||桌面图标不正常
查看>>
JavaScript基础(四)关于对象及JSON
查看>>
关于js sort排序方法
查看>>
JAVA面试常见问题之Redis篇
查看>>
javascript:二叉搜索树 实现
查看>>
网络爬虫Heritrix源码分析(一) 包介绍
查看>>
__int128的实现
查看>>
Problem - 1118B - Codeforces(Tanya and Candies)
查看>>
jdk1.8 api 下载
查看>>
svn 图标不显示
查看>>
getElement的几中属性介绍
查看>>
iOS 使用Quartz 2D画虚线 【转】
查看>>
平面最接近点对
查看>>
HTML列表,表格与媒体元素
查看>>
PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点?
查看>>
感谢青春
查看>>
Jquery Uploadify4.2 falsh 实现上传
查看>>
雨林木风 GHOST_XP SP3 快速装机版YN12.08
查看>>
linux基础-命令
查看>>
java对象的深浅克隆
查看>>