USACO 4.2 The Perfect Stall 完美的牛栏(最大匹配)
来源:互联网 发布:电子目录软件 编辑:程序博客网 时间:2024/05/28 05:18
Description
农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术。不幸的是,由于工程问题,每个牛栏都不一样。第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶。上个星期,农夫约翰刚刚收集到了奶牛们的爱好的信息(每头奶牛喜欢在哪些牛栏产奶)。一个牛栏只能容纳一头奶牛,当然,一头奶牛只能在一个牛栏中产奶。
给出奶牛们的爱好的信息,计算最大分配方案。
Input
第一行 两个整数,N (0 <= N <= 200) 和 M (0 <= M <= 200) 。N 是农夫约翰的奶牛数量,M 是新牛棚的牛栏数量。
第二行到第N+1行 一共 N 行,每行对应一只奶牛。第一个数字 (Si) 是这头奶牛愿意在其中产奶的牛栏的数目 (0 <= Si <= M) 。后面的 Si 个数表示这些牛栏的编号。牛栏的编号限定在区间 (1..M) 中,在同一行,一个牛栏不会被列出两次。
Output
只有一行。输出一个整数,表示最多能分配到的牛栏的数量。
Sample Input
5 5
2 2 5
3 2 3 4
2 1 5
3 1 2 5
1 2
Sample Output
4
var link:array[0..201] of longint; c:array[0..201] of boolean; map:array[0..201,0..201] of boolean; i,j,k,n,m,x,y,ans:longint;function find(i:longint):boolean; var k,q:longint; begin find:=true; for k:=1 to m do if (map[i,k]) and (not(c[k])) then begin q:=link[k]; link[k]:=i; c[k]:=true; if (q=0) or (find(q)) then exit; link[k]:=q; end; exit(false); end;begin readln(n,m); for i:=1 to n do begin read(x); for j:=1 to x do begin read(y); map[y,i]:=true; end; readln; end; for i:=1 to n do begin fillchar(c,sizeof(c),false); find(i); end; for i:=1 to n do if link[i]<>0 then inc(ans); writeln(ans);end.
阅读全文
0 0
- USACO 4.2 The Perfect Stall 完美的牛栏(最大匹配)
- USACO 4.2 The Perfect Stall 完美的牛栏(最大匹配)
- USACO 4.2 The Perfect Stall 完美的牛栏(最大匹配)
- USACO 4.2.2The Perfect Stall 完美的牛栏(二分图最大匹配)
- usaco-4.2.2The Perfect Stall完美的牛栏
- The Perfect Stall 完美的牛栏 二分图最大匹配,匈牙利算法
- (洛谷P1894)USACO 4.2 The Perfect Stall 完美的牛栏
- usaco training 4.2.2 The Perfect Stall 最佳牛栏 题解
- Luogu 1894 [USACO4.2]完美的牛栏The Perfect Stall
- 洛谷P1894 [USACO4.2]完美的牛栏The Perfect Stall
- 洛谷 1894 [USACO4.2]完美的牛栏The Perfect Stall
- usaco 4.2 The Perfect Stall 二分图最大匹配
- USACO Section 4.2 The Perfect Stall - 网络流求最大二分图匹配..
- USACO 4.2 The Perfect Stall网络流解最大二分图匹配
- usaco 4.2 The Perfect Stall(二分图最大匹配入门题)
- [usaco]4.2.2偶图匹配 The Perfect Stall
- USACO: the perfect stall 二分图匹配
- [USACO]-4.2-完美的牛栏-二分图匹配
- mysql索引优化技巧
- Py中的条件判断,if语句总结以及常见错误
- redis数据结构
- SDUT ACM 实验九 小鑫の日常系列故事(二)——石头剪子布
- 内存泄露工具(leakcanary、Lint)的使用
- USACO 4.2 The Perfect Stall 完美的牛栏(最大匹配)
- NodeMCU之快速试用
- 第一个WebService
- MAX232和PL2303、CH340的区别
- 这些年我读过的经典技术书籍
- Java中如何将时间设置为12小时制并区分上下午
- linux 安装php 已有的源码扩展
- mongoDb入魔笔记-1
- SDUT ACM 实验九 字符逆序