hdu 1083 Courses(二分图最大匹配)
2016-01-28 00:59
567 查看
题意:有p门的课,每门课都有若干学生,现在要为每个课程分配一名课代表,每个学生只能担任一门课的课代表,如果每个课都能找到课代表,则输出"YES",否则"NO"。
思路:匈牙利算法模板。
思路:匈牙利算法模板。
#include <stdio.h> #include <string.h> #include <iostream> using namespace std; #define MAXN 305 int 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; }
相关文章推荐
- LOG4J 文档学习笔记
- 使用dumbo开发hadoop streaming程序
- 关于Python中的yield
- JavaEE命名服务与JNDI
- node.js中遇到SyntaxError: Use of const in strict mode
- ZOJ 3261 - Connections in Galaxy War ,并查集删边
- android151 笔记 3
- 运用Log和Trace文件排除Oracle Net问题
- 深入mysql "ON DUPLICATE KEY UPDATE" 语法的分析
- 使用dumbo开发hadoop streaming程序
- 桌面版Linux提示Enter Password for Default Keyring to Unlock的解决方法
- SQL Server ->> PARSE函数
- 献给初学iOS的小盆友们——微博app项目开发之十二自定义cell代码补全
- Dubbo微服务打成可执行jar包
- Protocol Buffers的安装使用和C++/Python入门示例
- 数据挖掘十大算法翻译——9朴素贝叶斯
- Google Protocol Buffers自带c++,java,python例子程序编译运行
- MongoDB学习领悟: 文档的书写是基于K-V的map演算形式
- 重装系统
- POJ 2480 Longge's problem(数论)