HDU 1083 Courses(二分图匹配模板)
http://acm.hdu.edu.cn/showproblem.php?pid=1083
题意:
有p门课和n个学生,每个学生都选了若干门课,每门课都要找一个同学来表演,且一个同学只能表演一门课,判断是否能行。
思路:
二分图匹配的模板题。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std; int p, n;
int G[][];
int vis[];
int match[]; //第i学生的选课 int dfs(int x)
{
for (int i = ; i <= n; i++)
{
if (G[x][i] && !vis[i])
{
vis[i] = ; //标记,为了为了后面改课时跳过这门课
if (!match[i] || dfs(match[i])) //如果该学生还没有确定课或者这门课换一个学生
{
match[i] = x;
return ;
}
}
}
return ;
} int main()
{
//freopen("D:\\txt.txt", "r", stdin);
int T;
int a;
cin >> T;
while (T--)
{
memset(match, , sizeof(match));
memset(G, , sizeof(G));
cin >> p >> n;
int num;
for (int i = ; i <= p; i++)
{
cin >> num;
while (num--)
{
cin >> a;
G[i][a] = ;
}
}
//为每门课匹配学生
int i;
for (i = ; i <= p; i++)
{
memset(vis, , sizeof(vis));
if (!dfs(i)) break;
}
if (i == p + ) cout << "YES" << endl;
else cout << "NO" << endl;
}
}
HDU 1083 Courses(二分图匹配模板)的更多相关文章
- HDU 1083 Courses 【二分图完备匹配】
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1083 Courses Time Limit: 20000/10000 MS (Java/Others) ...
- Courses HDU - 1083 (二分匹配模板题)
Consider a group of N students and P courses. Each student visits zero, one or more than one courses ...
- hdu 1083 Courses(二分图最大匹配)
题意: P门课,N个学生. (1<=P<=100 1<=N<=300) 每门课有若干个学生可以成为这门课的代表(即候选人). 又规定每个学生最多只能成为一门课的代 ...
- HDU 1083 - Courses - [匈牙利算法模板题]
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1083 Time Limit: 20000/10000 MS (Java/Others) M ...
- hdu - 1083 - Courses
题意:有P门课程,N个学生,每门课程有一些学生选读,每个学生选读一些课程,问能否选出P个学生组成一个委员会,使得每个学生代言一门课程(他必需选读其代言的课程),每门课程都被一个学生代言(1 <= ...
- HDU - 1083 Courses /POJ - 1469
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1083 http://poj.org/problem?id=1469 题意:给你P个课程,并且给出每个课 ...
- hdu 1083 Courses (最大匹配)
CoursesTime Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- HDU 1083 Courses(最大匹配模版题)
题目大意: 一共有N个学生跟P门课程,一个学生可以任意选一 门或多门课,问是否达成: 1.每个学生选的都是不同的课(即不能有两个学生选同一门课) 2.每门课都有一个代表(即P门课都被成功选过 ...
- HDU - 1054 Strategic Game (二分图匹配模板题)
二分图匹配模板题 #include <bits/stdc++.h> #define FOPI freopen("in.txt", "r", stdi ...
随机推荐
- java-JProfiler(五)-监控性能
原文地址:http://blog.csdn.net/chendc201/article/details/22897999 一.基础认识 1. 在Live Memory视图里右击相关类,选中Mark C ...
- 十天精通CSS3(4)
text-overflow 与 word-wrap text-overflow用来设置是否使用一个省略标记(...)标示对象内文本的溢出. 语法: 但是text-overflow只是用来说明文字溢出时 ...
- ssm返回jsonp数据格式
为了便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作JSONP,该协议的一个要点就是允许用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数 ...
- js 的each()方法遍历对象和数组
<script src="../lib/jquery-1.8.3.min.js" ></script> <script type="text ...
- 更改wordpress的默认登录页面名称wp-login
好多人问我怎么修改wordpress的默认登录地址,因为只要知道是WORDPRESS的后台,都知道http://域名目录/wp-login.php就是登录地址,再用暴力破解器,很有可能会被破解开密码. ...
- Dokcerfile部署webpy,安装imagehash库并运行py脚本获取图片dhash值
Dockerfile FROM lmurawsk/python2.7 RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple image ...
- AngularJS 表达式 对象和数组
AngularJS 使用 表达式 把数据绑定到 HTML. AngularJS 表达式 AngularJS 表达式写在双大括号内:{{ expression }}. AngularJS 表达式把数据绑 ...
- 实体框架 Code First
原文:https://msdn.microsoft.com/zh-cn/en-zn/data/jj591621
- !! A股历史平均市盈率走势图
http://value500.com/PE.asp 一. A股历史平均市盈率走势图 *数据来源:上海证券交易所 分享到: 354 - 上海A股 深圳A股更新时间 2017年6月7日 2017年6月7 ...
- spring mvc interceptors
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:e ...