解题思路:

裸的匈牙利算法,看最大匹配是否等于P;

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
const int MAXN = 500;
int p, n;
int G[MAXN][MAXN];
int match[MAXN];
int vis[MAXN];
int path(int u)
{for(int i=1;i<=p;i++){if(G[u][i] && !vis[i]){vis[i] = 1;if(match[i] == -1 || path(match[i])){match[i] = u;return 1;}}}return 0;
}
int main()
{int T;scanf("%d", &T);while(T--){memset(G, 0, sizeof(G));memset(vis, 0, sizeof(vis));memset(match, -1, sizeof(match));scanf("%d%d", &p, &n);int c;for(int i=1;i<=p;i++){scanf("%d", &c);while(c--){int x;scanf("%d", &x);G[x][i] = 1;}}int ans = 0;for(int i=1;i<=n;i++){memset(vis, 0, sizeof(vis));ans += path(i);}if(ans == p) printf("YES\n");else printf("NO\n");}return 0;
}

HDU 1083 Coures(二分图匹配)相关推荐

  1. 奔小康赚大钱 HDU - 2255( 二分图匹配KM算法详解)

    题目 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子.  这可是一件大事,关系到人民的住房问题啊.村里共有n间房间,刚好有n家老百姓,考虑到每家都要有房住(如果有老百 ...

  2. Assignment HDU - 2853(二分图匹配 KM)

    传送门:QAQ 题意:给了你n个公司和m个任务,然后给你了每个公司处理每个任务的效率.然后他已经给你了每个公司的分配方案,让你求出最多能增大多少效率(即最大权值匹配减去原来的),然后问你至少要修改多少 ...

  3. 【 HDU - 5093】Battle ships(匈牙利算法,二分图匹配)

    题干: Dear contestant, now you are an excellent navy commander, who is responsible of a tough mission ...

  4. HDU 2444 The Accomodation of Students 二分图匹配

    HDU 2444 The Accomodation of Students 二分图匹配 题目来源: HDU 题意: 给出学生数n和关系数m,接下来给出m个关系. 要求将学生分成两部分,每一部分不能有互 ...

  5. HDU 1083 Courses 匹配

    题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1083 标准的匹配问题,直接上代码,有详细的注释 题目地址: #include <iostrea ...

  6. HDU 2819 Swap(二分图匹配)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=2819 [题目大意] 给出一个棋盘,由白格子和黑格子组成,可以交换棋盘的行列, 使得其主对角线为黑格 ...

  7. HDU 2063 过山车 (二分图匹配之匈牙利算法)

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  8. HDU - 2819 Swap(二分图完备匹配+路径输出)

    题目链接:点击查看 题目大意:给出一个n*n的01矩阵,问能否通过数次交换行和列,使得主对角线上的值全部为1 题目分析:因为对角线上的每个元素都对应着不同的一行和一列,换句话说,如果有解,那么肯定可以 ...

  9. 【HDU - 5090】Game with Pearls (匈牙利算法,二分图匹配)

    题干: Tom and Jerry are playing a game with tubes and pearls. The rule of the game is: 1) Tom and Jerr ...

最新文章

  1. 程序员的高速学习法——以JS学习为例,进行图解
  2. 【PAT乙级】1035 插入与归并 (25 分)
  3. 用户及用户组管理(week1_day4)--技术流ken
  4. java-基础练习题3
  5. 搜狗浏览器智慧版_奥维互动地图浏览器下载_奥维互动地图浏览器64位版v7.1.2
  6. Android之在ubuntu上常用的am、pm命令的总结
  7. 转载——java synchronized详解
  8. MySQL JDBC URL中几个重要参数说明
  9. 四元数左乘右乘_复数/四元数和转动/转动群
  10. 全网最详细的Android Studio卸载、安装和启动教程
  11. 互联网后端的主流编程语言是啥?不是Python?
  12. matlab中ljnspace,Matlab图像感兴趣区域编码
  13. 周凯:如何利用数据挖掘让RTB广告效果倍增?
  14. 【深入理解计算机系统】第三章重点汇总
  15. 使用UIKit制作卡牌游戏(一)ios游戏篇
  16. 罗斯蒙特248温度变送器248HANANONS
  17. 受疫情影响,超七成美国科技公司暂停招聘或裁员
  18. makefile传字符串给c语言,makefile终极奥义
  19. 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。
  20. 【C#】C#调用Bartender模板打印,输出图片,PDF

热门文章

  1. Java从小白到大牛第1篇 Java基础-关东升-专题视频课程
  2. Java的基本特性和优势
  3. 做登录/注册页面需考虑哪些问题?
  4. 轻松解决 “Error creating bean with name 'indentDao' defined in file”的错误(一)
  5. html的毕业设计步骤和方法,毕业论文写作的8大步骤
  6. (转)ubuntu软件列表
  7. centos + git + gitolite 服务搭建
  8. 大通流TVS管和ESD静电二极管的区别
  9. 剑指offer练习日志02:基于矩阵乘法求斐波那契数列通项
  10. java数组查找奇数_java – 在数组中对偶数和奇数进行排序