就是最简单的最大匹配,没的说

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define Maxn 310
using namespace std;
int n,m,vi[Maxn],match[Maxn],graphic[Maxn][Maxn];
int dfs(int u)
{
int i;
for(i=;i<=m;i++)
{
if(!vi[i]&&graphic[u][i])
{
vi[i]=;
if(match[i]==-||dfs(match[i]))
{
match[i]=u;
return ;
}
}
}
return ;
}
int main()
{
int i,j,k,t,a,b;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
memset(match,-,sizeof(match));
memset(graphic,,sizeof(graphic));
for(i=;i<=n;i++)
{
scanf("%d",&a);
for(j=;j<=a;j++)
{
scanf("%d",&b);
graphic[i][b]=;
}
}
int num=;
for(i=;i<=n;i++)
{
memset(vi,,sizeof(vi));
if(dfs(i))
num++;
}
if(num==n)
printf("YES\n");
else
printf("NO\n");
}
return ;
}

最新文章

  1. vs2010中如何设置Visual Assist方便地使用现成的代码编辑器风格
  2. PostgreSQL基础整理(一)
  3. Linux open函数
  4. linux下用mii-tool和ethtool 查看网线是否正确连接到网卡
  5. php中的正则表达式具体的说明案例
  6. winfrom之动态控件生成以及保存动态空间的数据
  7. 教了几天C语言 C语言竞赛------家长们你们为什么这么急!!
  8. 在Linux下写一个线程池以及线程池的一些用法和注意点
  9. error BC31019 无法写入输出文件 未指定错误
  10. ubuntu rc.local 无效 解决方案(转)
  11. decode-ways(动态规划)
  12. 数据库中table 和 schema的区别
  13. [Postman]创建第一个集合(2)
  14. 胸片和CT断层图像是怎么来的?
  15. SQLServer为已有数据的表添加一个自增列
  16. 探索未知种族之osg类生物---器官初始化一
  17. Mysql缓存中innodb_buffer_pool与Qcache的区别
  18. IntelIJ IDEA配置Tomcat遇到问题Error during artifact deployment. See server log for details
  19. GO学习笔记 - 没有参数的 return 语句返回各个返回变量的当前值,这种用法被称作“裸”返回。
  20. Python基础灬高阶函数(lambda,filter,map,reduce,zip)

热门文章

  1. DOM解析示例
  2. 无法删除对象 &#39;产品&#39;,因为该对象正由一个 FOREIGN KEY 约束引用。
  3. JSON.NET 简单的使用
  4. python练习程序(c100经典例18)
  5. 15个最新加速 Web 开发的框架和工具
  6. 图片延迟加载库Layzr
  7. android获取mac地址方法
  8. .NET 4.0 使用 asyn await
  9. eclipse 快捷键汇总
  10. uml系列(七)——交互图
  11. 最长连续子序列(dp,分而治之递归)
  12. Hessian序列化的一个潜在问题
  13. 五、stdout,stdoin和stderr
  14. Swift 里 Dictionary
  15. SpringMVC中的参数绑定总结
  16. ASP.NET MVC利用ActionLink实现动态组合查询
  17. 用C语言(apue)实现 把时间戳转换为国标格式的字符串(2017-07-17 22:36:12)的函数
  18. CentOS下安装官方RPM包的MySQL后找不到my.cnf
  19. 运行ceph时,了解一下主要的进程。
  20. nginx 相关命令 nginx -s reload/stop/quit