博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分匹配 二分+网络流 未完成
阅读量:5055 次
发布时间:2019-06-12

本文共 813 字,大约阅读时间需要 2 分钟。

奶牛分配(stall4.pas/in.out) 

描述 
农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术。不幸的是,由于工程问题,每个牛栏都不一样。第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶。上个星期,农夫约翰刚刚收集到了奶牛们的爱好的信息(每头奶牛喜欢在哪些牛栏产奶)。一个牛栏只能容纳一头奶牛,当然,一头奶牛只能在一个牛栏中产奶。  
给出奶牛们的爱好的信息,计算最大分配方案。   
输入格式 
第一行 两个整数,N (0 <= N <= 200) 和 M (0 <= M <= 200) 。N 是农夫约翰的奶牛数量,M 是新牛棚的牛栏数量。  
第二行到第N+1行 一共 N 行,每行对应一只奶牛。第一个数字 (Si) 是这头奶牛愿意在其中产奶的牛栏的数目 (0 <= Si <= M) 。后面的 Si 个数表示这些牛栏的编号。牛栏的编号限定在区间 (1..M) 中,在同一行,一个牛栏不会被列出两次。  
 输出格式 
只有一行。输出一个整数,表示最多能分配到的牛栏的数量。   
SAMPLE INPUT  5 5 2 2 5 3 2 3 4 2 1 5 3 1 2 5 1 2  
SAMPLE OUTPUT  4

 

 二分图指的是这样一种图,其所有顶点可以分成两个集合X和Y,其中X或Y中任意两个在同一集合中的点都不相连,所有的边关联在两个顶点中,恰好一个属于集合X,另一个属于集合Y。给定一个二分图G,M为G边集的一个子集,如果M满足当中的任意两条边都不依附于同一个顶点,则称M是一个匹配。图中包含边数最多的匹配称为图的最大匹配。

 

还有另一中二分图加网络流的类型

http://blog.csdn.net/juncoder/article/details/38340447

 

转载于:https://www.cnblogs.com/juandx/p/4060214.html

你可能感兴趣的文章
Appium+python断言的使用
查看>>
码农干货系列【3】--割绳子(cut the rope)制作点滴:旋转(rotation)
查看>>
斜率DP题目
查看>>
android:scaleType属性
查看>>
编译.so .a的结果
查看>>
疯狂java学习笔记之面向对象(七) - super关键字
查看>>
磁盘阵列
查看>>
leetcode-1-2
查看>>
linux 存取 I/O 内存
查看>>
时间同步
查看>>
通过Relect反射方法创建对象,获得对象的方法,输出对象信息
查看>>
Cognos报表打开参数
查看>>
126邮箱的格式
查看>>
ASP.NET MVC上传文件 未显示页面,因为请求实体过大。解方案
查看>>
怎样在 Mac 上打开 ~_Library 文件夹
查看>>
git常用的命令
查看>>
【转】emulator: ERROR: Could not load OpenGLES emulation library: lib64OpenglRender.so
查看>>
团队编程项目作业3-----模块开发过程
查看>>
站台查询api 据站台名称查询站台详细信息
查看>>
恶意代码功能与应对
查看>>