UESTC 1144 Big Brother
Time Limit:1000MS Memory Limit:65535KB 64bit IO Format:%lld & %llu
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相关推荐
- CDOJ 1144 Big Brother 二分图匹配
二分图匹配 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstrin ...
- You are my brother
You are my brother 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Little A gets to know a new friend, Little B, recen ...
- UESTC 2015dp专题 E 菲波拉契数制 dp
菲波拉契数制 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...
- 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 ...
- the 12th UESTC Programming Contest Final Justice is Given by Light (几何+ 二分)
题目来源: http://acm.uestc.edu.cn/#/problem/show/814 题意:是给你一堆凸包上的点,这些点会形成一个凸多边形,有两个god站在这个多边形上,他们可以释放一个半 ...
- UESTC 电子科大专题训练 数据结构 J
UESTC 1599 题意:中文题..不写了 思路:优先对列,小的优先 AC代码: #include "iostream" #include "string.h" ...
- 浅析Avicii的MV Hey Brother
date: 2017-04-10 20:30:19 其实这篇随感早应在一个月之前就写完的,但是笔者刚从老家来到北京,需要安顿各种事情,再加上自己比较懒上班比较忙,每天晚上回到家,都是直接趴在床上睡了. ...
- ACM学习历程—UESTC 1226 Huatuo's Medicine(数学)(2015CCPC L)
题目链接:http://acm.uestc.edu.cn/#/problem/show/1226 题目就是构造一个对称的串,除了中间的那个只有1个,其余的两边都是对称的两个,自然答案就是2*n-1. ...
- POJ 1144 Network(无向图连通分量求割点)
题目地址:POJ 1144 求割点.推断一个点是否是割点有两种推断情况: 假设u为割点,当且仅当满足以下的1条 1.假设u为树根,那么u必须有多于1棵子树 2.假设u不为树根.那么(u,v)为树枝边. ...
最新文章
- Go 分布式学习利器(11)-- Go语言通过单链表 实现队列
- visual studio 代码提示插件_程序员请收好:10个非常实用的 VS Code 插件
- MySQL每秒57万的写入,带你飞~
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(二)转载自码农网
- python搜索大文件
- 西数举债千亿收购闪迪 到底图了个啥?
- C++实现二叉搜索树的查找(附完整源码)
- java switch 类型_Java switch case数据类型原理解析
- Python之数据分析(numpy线性模型、线性预测、线性拟合)
- ASP.NET通过Global.asax和Timer定时器定时运行后台代码
- 一个不错的验证码的例子
- Mysql的基础知识
- 【倒计时10day】看雪论坛精华优秀文章分享与点评
- vue前端项目的结构以及组成部分
- matlab卷积动画实现
- Linux 操作系统课程设计
- 学1个月爬虫就月赚6000?告诉你爬虫的真实情况!
- ip rule 路由策略数据库管理命令
- Navicat 的使用
- 阿里云服务器建站怎么上传文件?
热门文章
- 【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)
- CPU告急,EOS网络拥堵该如何解决?
- uva 1218 Perfect Service 树形dp
- 关于uboot的简介——uboot对Flash与DDR的管理
- mysql ip 查询工具_IP地址查询定位器 - 从全球最新的IP数据库查询IP详细信息
- 2个25Ge网口做bond(mode4)后,iperf2压测不到50Gb
- 主板开启网络唤醒_网络唤醒bios设置【应用方式】
- 什么样的护眼灯适合孩子用?真正适合孩子的护眼台灯
- 2022双十一买护眼灯怎么样?护眼台灯真的有作用吗
- 【求证】 网上配镜靠谱吗?