hdu 1083 Courses(二分图最大匹配)
来源:互联网 发布:开通淘宝客后怎么开始 编辑:程序博客网 时间:2024/04/29 12:41
题意:有p门的课,每门课都有若干学生,现在要为每个课程分配一名课代表,每个学生只能担任一门课的课代表,如果每个课都能找到课代表,则输出"YES",否则"NO"。
思路:匈牙利算法模板。
#include <stdio.h>#include <string.h>#include <iostream>using namespace std;#define MAXN 305int g[MAXN][MAXN];int uN,vN;int linker[MAXN];bool used[MAXN];bool dfs(int u){ int v; for(v=1; v<=vN; v++) if(g[u][v]&&!used[v]) { used[v]=true; if(linker[v]==-1||dfs(linker[v])) { linker[v]=u; return true; } } return false;}int hungary(){ int res=0,u; memset(linker,-1,sizeof(linker)); for(u=1; u<=uN; u++) { memset(used,0,sizeof(used)); if(dfs(u)) res++; } return res;}int main(){ int u,v; int T,i,n; scanf("%d",&T); while(T--) { scanf("%d%d",&uN,&vN); memset(g,0,sizeof(g)); for(u=1; u<=uN; u++) { scanf("%d",&n); while(n--) { scanf("%d",&v); g[u][v]=1; } } if(uN==hungary()) printf("YES\n"); else printf("NO\n"); } return 0;}
1 0
- hdu 1083 Courses 二分图最大匹配
- hdu 1083 Courses(二分图最大匹配)
- HDU 1083 COURSES 【二分图最大匹配】
- hdu 1083 Courses(二分图最大匹配)
- HDU OJ 1083 Courses 【二分图匹配之最大匹配】
- HDU 1083 Courses (二分最大匹配)
- hdu 1083 Courses(二分最大匹配)
- HDU Courses 二分图最大匹配
- HDU 1083--Courses【二分图的最大匹配】
- HDU ACM 1083 Courses 二分图最大匹配
- HDU 1083 Courses(二分图最大匹配【匈牙利算法】)
- hdu 1083 Courses (二分图匹配)
- hdu 1083 Courses(二分图匹配)
- HDU 1083 Courses(二分图匹配)
- hdu 1082 Courses 二分图最大匹配(匈牙利算法)
- hdu 2239 Selecting Courses(二分图最大匹配)
- HDU 1083 二分匹配 Courses
- HDU-1083-Courses [二分匹配]
- 桌面版Linux提示Enter Password for Default Keyring to Unlock的解决方法
- 使用dumbo开发hadoop streaming程序
- 深入mysql "ON DUPLICATE KEY UPDATE" 语法的分析
- 运用Log和Trace文件排除Oracle Net问题
- 关于Python中的yield
- hdu 1083 Courses(二分图最大匹配)
- 非常好的介绍分布式log文章: The Log
- 使用dumbo开发hadoop streaming程序
- LOG4J 文档学习笔记
- 制作纯色背景的导航栏
- object-c 内存管理(二) 自动释放池
- poj 1083 Moving Tables
- [啊哈!算法] => 读书笔记(一)
- 关于蓝桥杯官网ADV-197 P1001试题分析与strlen函数疑问