【题解】

  其实是个二分图最大匹配的模板题,直接上匈牙利算法就好了。

  

 #include<cstdio>
#include<algorithm>
#define N 1010
#define rg register
using namespace std;
int n,m,E,ans,T,tot,last[N],v[N],from[N];
struct edge{
int to,pre;
}e[N*N];
inline int read(){
int k=,f=; char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(''<=c&&c<='')k=k*+c-'',c=getchar();
return k*f;
}
int dfs(int x){
for(rg int i=last[x],to;i;i=e[i].pre) if(v[to=e[i].to]!=T){
v[to]=T;
if(!from[to]||dfs(from[to])){
from[to]=x;
return ;
}
}
return ;
}
int main(){
n=read(); m=read();
for(rg int i=;i<=n;i++){
int num=read();
for(rg int j=;j<=num;j++){
int v=read();
e[++tot]=(edge){v,last[i]};last[i]=tot;
}
}
for(rg int i=;i<=n;i++) ++T,ans+=dfs(i);
printf("%d\n",ans);
return ;
}

最新文章

  1. Date类
  2. Spring学习总结(一)——Spring实现IoC的多种方式
  3. 解决maven项目移动
  4. 学习simple.data之基础篇
  5. GROUPING SETS、CUBE、ROLLUP
  6. 列表:一个打了激素的数组2 - 零基础入门学习Python011
  7. linux用户管理最常用的三个文件说明(不完整版)
  8. 25 python 初学(socket,socketserver)
  9. Java方法的静态绑定与动态绑定讲解(向上转型的运行机制详解)
  10. VC.【转】窗口置于前台并激活的方法
  11. UI Recorder 安装教程(二)
  12. spark数据倾斜
  13. Ubuntu 12.04常用快捷键
  14. springboot2.X集成HttpClient 发送HTTPS 请求
  15. Scrapyd-Client的安装
  16. bzoj 3884 欧拉定理
  17. mysql5.7
  18. 关于comet
  19. python使用multiprocessing进行多进程编程(1)
  20. 详解TCP建立连接全过程

热门文章

  1. 用React &amp; Webpack构建前端新闻网页
  2. gitlab-ce平台调试
  3. 2-6 ES6常用语法
  4. 用nginx进行同一个服务器下多域名的负载均衡配置
  5. JAVA中的语法
  6. E20171106-hm
  7. python实现对某招聘网接口测试获取平台信息
  8. Springboot 三种拦截Rest API的方法-过滤器、拦截器、切片
  9. vue中sync,v-model----双向数据绑定
  10. 区间DP UVA 11584 Partitioning by Palindromes