博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1469 COURSES 二分图最大匹配
阅读量:4699 次
发布时间:2019-06-09

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

就是判断一下是不是每一个课程都能找到自己的代表人,做一遍最大匹配看看匹配数是否等于p即可

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const int maxn = 400;int p,n,bx[maxn],by[maxn],vis[maxn];bool g[maxn][maxn];int dfs(int now) { for(int i = 1;i <= n;i++) if(g[now][i] && !vis[i]) { vis[i] = true; if(!by[i] || dfs(by[i])) { bx[now] = i; by[i] = now; return 1; } } return 0;}void solve() { memset(bx,0,sizeof(bx)); memset(by,0,sizeof(by)); //为每一门课程寻找代表 int ans = 0; for(int i = 1;i <= p;i++) { if(!bx[i]) { memset(vis,0,sizeof(vis)); ans += dfs(i); } } if(ans == p) puts("YES"); else puts("NO");}int main() { int T; scanf("%d",&T); while(T--) { scanf("%d%d",&p,&n); memset(g,0,sizeof(g)); for(int i = 1;i <= p;i++) { int cnt; scanf("%d",&cnt); for(int j = 1;j <= cnt;j++) { int tmp; scanf("%d",&tmp); g[i][tmp] = true; } } solve(); } return 0;}

  

转载于:https://www.cnblogs.com/rolight/p/3880546.html

你可能感兴趣的文章
C语言-apache mod(模块开发)-采用VS2017开发实战(windows篇)
查看>>
Mac OS X:Xcode常用快捷键
查看>>
使用Linux思路搞定IIS的一个权限问题
查看>>
CSS-技巧
查看>>
JQuery 事件
查看>>
白帽子讲Web安全1.pdf
查看>>
Oracle体系结构
查看>>
C# mongodb 简单自增排序 以及批量去重批量入库
查看>>
基于jquery的常见函数封装
查看>>
工作队列(workqueue) create_workqueue/schedule_work/queue_work
查看>>
platform_device与platform_driver
查看>>
Android5.0以后,materialDesign风格的加阴影和裁剪效果
查看>>
Android JNI之C/C++层调用JAVA
查看>>
Android Application的使用及其生命周期
查看>>
有关ie8 滤镜影响 :hover 的问题 求大神解决下 ie8下 hover 不管用
查看>>
linux rpm yum grub流程
查看>>
(十二)命令模式
查看>>
AFNetwork 作用和用法详解
查看>>
20135219洪韶武——信息安全系统设计基础第二周学习总结
查看>>
jsf:selectmanycheckbox and selectbooleancheckbox问题
查看>>