Big Brother

Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:%lld & %llu

Submit Status Practice UESTC 1144

Description

现在有$n$个囚笼,需要关押$m$个犯人,the big brother很担心囚笼的安全性,因为犯人都有自己的想法,他们只想住在特定的囚笼里面,那么big brother想知道最多 能关押多少个犯人,每个囚笼只能关押一个犯人,一个犯人也只能关押在一个囚笼里面。

Input

第一行 两个整数,$N (0 \leq N \leq 200)$ 和 $M (0 \leq M \leq 200)$ 。$N$ 是犯人的数量,$M$ 是囚笼的数量。

第二行到第$N+1$行 一共 $N$ 行,每行对应一只犯人。第一个数字 $(Si)$ 是这哥犯人愿意待的囚笼的数量 $(0 \leq Si \leq M)$。后面的$Si$个数表示这些囚笼的编号。

囚笼的编号限定在区间 $(1..M)$ 中,在同一行,一个囚笼不会被列出两次。

Output

只有一行。输出一个整数,表示最多能分配到的囚笼的数量.

Sample Input

5 5 
1 1 
1 2 
1 3 
1 4 
1 5

Sample Output

5

二分图最大匹配模板

code:

#include <iostream>
#include <cstring>
#include <algorithm>
#define size 400
bool vis[size];
int x[size], y[size], Pair[size][size], nx, ny;
int path(int u)
{for(int v=0;v<ny;v++){if(Pair[u][v] && !vis[v]){vis[v]=true;if(y[v]==-1 || path(y[v])){y[v]=u;x[u]=v;return 1;}}}return 0;
}
void maxMatch()
{int ans=0;memset(x, -1, sizeof(x));memset(y, -1, sizeof(y));for(int i=0;i<=nx;i++){if(x[i]==-1){memset(vis, false, sizeof(vis));ans+=path(i);}}printf("%d\n", ans);
}
using namespace std;
int main()
{#ifdef OFFLINEfreopen("yi.txt", "r", stdin);
#endifint s, c, i;while(~scanf("%d %d", &nx, &ny)){memset(Pair, 0, sizeof(Pair));memset(vis, false, sizeof(vis));for(i=0;i<nx;i++){scanf("%d",&s);while(s--){scanf("%d",&c);Pair[i][c-1]=1;}}maxMatch();}return 0;
}

UESTC 1144 Big Brother相关推荐

  1. CDOJ 1144 Big Brother 二分图匹配

    二分图匹配 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstrin ...

  2. You are my brother

    You are my brother 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Little A gets to know a new friend, Little B, recen ...

  3. UESTC 2015dp专题 E 菲波拉契数制 dp

    菲波拉契数制 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...

  4. The 15th UESTC Programming Contest Preliminary C - C0ins cdoj1554

    地址:http://acm.uestc.edu.cn/#/problem/show/1554 题目: C0ins Time Limit: 3000/1000MS (Java/Others)     M ...

  5. the 12th UESTC Programming Contest Final Justice is Given by Light (几何+ 二分)

    题目来源: http://acm.uestc.edu.cn/#/problem/show/814 题意:是给你一堆凸包上的点,这些点会形成一个凸多边形,有两个god站在这个多边形上,他们可以释放一个半 ...

  6. UESTC 电子科大专题训练 数据结构 J

    UESTC 1599 题意:中文题..不写了 思路:优先对列,小的优先 AC代码: #include "iostream" #include "string.h" ...

  7. 浅析Avicii的MV Hey Brother

    date: 2017-04-10 20:30:19 其实这篇随感早应在一个月之前就写完的,但是笔者刚从老家来到北京,需要安顿各种事情,再加上自己比较懒上班比较忙,每天晚上回到家,都是直接趴在床上睡了. ...

  8. ACM学习历程—UESTC 1226 Huatuo's Medicine(数学)(2015CCPC L)

    题目链接:http://acm.uestc.edu.cn/#/problem/show/1226 题目就是构造一个对称的串,除了中间的那个只有1个,其余的两边都是对称的两个,自然答案就是2*n-1. ...

  9. POJ 1144 Network(无向图连通分量求割点)

    题目地址:POJ 1144 求割点.推断一个点是否是割点有两种推断情况: 假设u为割点,当且仅当满足以下的1条 1.假设u为树根,那么u必须有多于1棵子树 2.假设u不为树根.那么(u,v)为树枝边. ...

最新文章

  1. Go 分布式学习利器(11)-- Go语言通过单链表 实现队列
  2. visual studio 代码提示插件_程序员请收好:10个非常实用的 VS Code 插件
  3. MySQL每秒57万的写入,带你飞~
  4. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(二)转载自码农网
  5. python搜索大文件
  6. 西数举债千亿收购闪迪 到底图了个啥?
  7. C++实现二叉搜索树的查找(附完整源码)
  8. java switch 类型_Java switch case数据类型原理解析
  9. Python之数据分析(numpy线性模型、线性预测、线性拟合)
  10. ASP.NET通过Global.asax和Timer定时器定时运行后台代码
  11. 一个不错的验证码的例子
  12. Mysql的基础知识
  13. 【倒计时10day】看雪论坛精华优秀文章分享与点评
  14. vue前端项目的结构以及组成部分
  15. matlab卷积动画实现
  16. Linux 操作系统课程设计
  17. 学1个月爬虫就月赚6000?告诉你爬虫的真实情况!
  18. ip rule 路由策略数据库管理命令
  19. Navicat 的使用
  20. 阿里云服务器建站怎么上传文件?

热门文章

  1. 【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)
  2. CPU告急,EOS网络拥堵该如何解决?
  3. uva 1218 Perfect Service 树形dp
  4. 关于uboot的简介——uboot对Flash与DDR的管理
  5. mysql ip 查询工具_IP地址查询定位器 - 从全球最新的IP数据库查询IP详细信息
  6. 2个25Ge网口做bond(mode4)后,iperf2压测不到50Gb
  7. 主板开启网络唤醒_网络唤醒bios设置【应用方式】
  8. 什么样的护眼灯适合孩子用?真正适合孩子的护眼台灯
  9. 2022双十一买护眼灯怎么样?护眼台灯真的有作用吗
  10. 【求证】 网上配镜靠谱吗?