poj 1274 The Perfect Stall

2019独角兽企业重金招聘Python工程师标准>>> hot3.png


The Perfect Stall

Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 16888 Accepted: 7721

Description

Farmer John completed his new barn just last week, complete with all the latest milking technology. Unfortunately, due to engineering problems, all the stalls in the new barn are different. For the first week, Farmer John randomly assigned cows to stalls, but it quickly became clear that any given cow was only willing to produce milk in certain stalls. For the last week, Farmer John has been collecting data on which cows are willing to produce milk in which stalls. A stall may be only assigned to one cow, and, of course, a cow may be only assigned to one stall. 
Given the preferences of the cows, compute the maximum number of milk-producing assignments of cows to stalls that is possible. 

Input

The input includes several cases. For each case, the first line contains two integers, N (0 <= N <= 200) and M (0 <= M <= 200). N is the number of cows that Farmer John has and M is the number of stalls in the new barn. Each of the following N lines corresponds to a single cow. The first integer (Si) on the line is the number of stalls that the cow is willing to produce milk in (0 <= Si <= M). The subsequent Si integers on that line are the stalls in which that cow is willing to produce milk. The stall numbers will be integers in the range (1..M), and no stall will be listed twice for a given cow.

Output

For each case, output a single line with a single integer, the maximum number of milk-producing stall assignments that can be made.

Sample Input

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

Sample Output

4

Source

USACO 40


我的解答:

二分图匹配.匈牙利算法.


/*=============================================================================
#     FileName: 1274.cpp
#         Desc: poj 1274
#       Author: zhuting
#        Email: cnjs.zhuting@gmail.com
#     HomePage: my.oschina.net/locusxt
#      Version: 0.0.1
#    CreatTime: 2013-12-07 15:54:43
#   LastChange: 2013-12-07 15:54:43
#      History:
=============================================================================*/
#include <cstdio>
#include <cstdlib>
#include <string>
#include <cstring>
#include <algorithm>
#define maxn 205bool mymap[maxn][maxn] = {0};/*记录是否两点相连*/
int link[maxn] = {0};/*记录右边的点所连接的点,没有时置-1*/
bool cover[maxn] = {0};/*记录右边的某个点有没有被覆盖,防止死循环*/
int n = 0, m = 0;bool find (int x)/*寻找左边的点*/
{for (int i = 0; i < m; ++i)/*对右边的点进行遍历*/{if (!cover[i] && mymap[x][i])/*如果该右点没有被覆盖,并且与左点x之间有线相连*/{cover[i] = 1;if (link[i] == -1 || find(link[i])){link[i] = x;return 1;}}}return 0;
}void init()
{memset(mymap, 0, sizeof(mymap));memset(cover, 0, sizeof(cover));memset(link, 0xff, sizeof(link));return;
}int main()
{int link_num = 0;int stall = 0;while (scanf("%d%d", &n, &m) != EOF){int ans = 0;init();for (int i = 0; i < n; ++i){scanf("%d", &link_num);for (int j = 0; j < link_num; ++j){scanf("%d", &stall);mymap[i][stall - 1] = 1;}}for (int i = 0; i < n; ++i)/*遍历所有左点*/{memset(cover, 0, sizeof(cover));if (find(i))++ans;}printf("%d\n", ans);}return 0;
}


第一道二分图,匈牙利算法




转载于:https://my.oschina.net/locusxt/blog/182353

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461797.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++远征之封装篇——常对象成员、常成员函数

一、常对象成员 二、常成员函数 &#xff08;1&#xff09;常成员函数中不能修改数据成员的值 &#xff08;2&#xff09;不能修改的原因 每个函数都默认带了一个this指针的&#xff0c;该指针指向该类的实例。当使用const来修饰时&#xff0c;其实是const Coordinate* this。这…

PHP建站环境搭建:汇总网上常见的1键安装包

PHP的程序很火&#xff0c;像博客&#xff1a;Wordpress、论坛&#xff1a;Discuz!、SNS&#xff1a;UCenter Home、CMS&#xff1a;DedeCMS等等都是比较流行的PHP程序&#xff0c;大家都在使用PHP类的程序&#xff0c;但对于很多初学者来说&#xff0c;直接上传到虚拟空间上一…

最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和...

最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和文章作者&#xff1a;Yx.Ac 文章来源&#xff1a;勇幸|Thinking (http://www.ahathinking.com) 转载请注明&#xff0c;谢谢合作。 以后新博客写的文章挑一些粘过来&#…

JEECMS编辑漏洞及随便拿webshell,啊哈哈

JEECMS是基于java技术开发&#xff0c;继承其强大、稳定、安全、高效、跨平台等多方面的优点 采用SpringMVC3Spring3Hibernate3Freemarker主流技术架构 安全性做得非常变态&#xff0c;当网站安装完成后就不再允许执行任何目录下的jsp文件了&#xff08;web.xml配置了过滤器禁…

C++之内存管理

1.申请内存&#xff1a;int *p new int;释放内存&#xff1a;delete p; 2.申请块内存&#xff1a;int *arrnew int[10];释放:delete []arr; 3.申请内存需要判断是否成功&#xff0c;释放内存需要设空指针 4.new与delete配套使用 转载于:https://www.cnblogs.com/xjyxp/p/11236…

内核通识——linux内核源码(2.6.35.7版本)的目录结构

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、文件 &#xff08;1&#xff09;Kbuild文件 Kbuild是kernel build的缩写&#xff0c;就是内核编译的意思。这个文件就是linux内核特有的内核编译体系需要用到的文件。 &#xff08;2&#xff09…

【原创】自制PCB经验教训之一:版图打印篇

看了篇帖子《用感光电路板自制PCB攻略&#xff08;网友电子白菜撰写&#xff09;》&#xff0c;于是前几天在淘宝上买了一批PCB DIY工具和材料回来&#xff0c;想自己弄个试试&#xff0c;岂料障碍重重&#xff0c;甚至于酿成大祸... 首先是PCB打印的软件设置问题&#xff0c;我…

分享一套非常不错的bootstarp3.0.2响应式模板

2019独角兽企业重金招聘Python工程师标准>>> 这是销量第一的bootstrap 响应式后台管理模板&#xff0c;每套模板都是我用20美金买回来的话不多说&#xff0c;下面是五个模板的演示地址&#xff0c;你看到的&#xff0c;就是你可以下载到的。都是收费模板。 官方演示…

内核配置与编译——内核的配置原理

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 概述 编译内核前需要进行两步配置&#xff0c;即先make x210ii_qt_defconfig&#xff0c;然后再make menuconfig。第一步如果成功&#xff0c;则会提示“configuration written to .config”。注意…

感谢大家对我微软TECHED2013课程的支持

http://technet.microsoft.com/zh-cn/teched2013_hols 转载于:https://blog.51cto.com/136840/1339733

C语言简介

摘自 老九学堂 徐嵩老师转载于:https://www.cnblogs.com/CheeseIce/p/11238694.html

内核源码——汇编阶段的head.S文件

以下内容源于朱有鹏嵌入式课程的学习&#xff0c;如有侵权&#xff0c;请告知删除。 前言 1、内容总结 汇编阶段&#xff0c;或者说内核引导阶段&#xff0c;主要是arch/arm/kernel/head.S文件&#xff0c;主要完成以下内容&#xff1a; &#xff08;1&#xff09;校验启动合法…

Python第十七课(面向对象基础)

Python第17课(面向对象基础) >>>思维导图>>>中二青年 面向对象编程思想OOP 什么是面向对象 面向对象是一种编程思想&#xff0c;是前辈们总结出的经验&#xff0c;指导程序员如何编写出更好的程序&#xff0c;核心是对象&#xff0c;程序就是一系列对象的…

内核源码——C语言阶段的start_kernel函数

以下内容源于朱有鹏嵌入式课程的学习&#xff0c;如有侵权请告知删除。 前言 1、内容总结 C语言阶段的start_kernel函数位于内核源码/init/main.c文件&#xff0c;主要完成以下内容&#xff1a; &#xff08;1&#xff09;打印一些输出信息。 &#xff08;2&#xff09;初始化…

Excel2007数据透视表学习(四)改变数据透视表布局

通过在【数据透视表字段列表】对话框内将【列标签】、【行标签】和【报表筛选】区域的字段转换即可创建不同分析角度的数据透视表。 如果还是习惯Excel2003版本字段拖拽方式创建数据透视表&#xff0c;可以在数据透视表中单击鼠标右键→【数据透视表选项】→【显示】→勾选【…

经典基础算法之面试题(系列一)(转)

1. 打靶问题的递归解法 Technorati 标记: 递归算法,字典法,二分法,打靶问题,日期问题,求幂,多项式求值伦敦奥运会火热进行中&#xff0c;让我们来看个打靶的问题&#xff1a;一个射击运动员打靶&#xff0c;靶一共有10环&#xff0c;求连开10枪打中90环的可能行有多少种&#x…

2013年11月份我国网络不良与垃圾短信息分析报告

IDC评述网&#xff08;idcps.com&#xff09;12月17日报道&#xff1a;近日&#xff0c;12321网络不良与垃圾信息举报受理中心最新播报了11月份我国不良与垃圾短信息发送情况。根据报告显示&#xff0c;11月份垃圾邮件发送IP地址与上月大体相同&#xff0c;主要集中在湖北、北京…

SCOM Rule 介绍 [SCOM中文系列之六]

SCOM的Rule主要用来收集数据&#xff0c;我们看到的EventView&#xff0c;PerformanceData&#xff0c;Report所需数据大部分都是通过Rule来收集的。 SCOM Rule的基础结构是触发指定的条件&#xff0c;就执行指定的动作。这个我们通过Rule的属性界面可以看的清楚点&#xff1a;…

init进程的详解

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 内核源码——C语言阶段的start_kernel函数_天糊土的博客-CSDN博客 分析根文件系统中的/linuxrc文件_天糊土的博客-CSDN博客 linux内核sys_mount()分析_kai_ding的博客-CSDN博客_sys_mount…

跟着石头哥哥学cocos2d-x(四)--cocos2dx中的动画以及TexturePacker使用

2019独角兽企业重金招聘Python工程师标准>>> 之前向Andreas Loew申请了一枚TexturePacker注册码&#xff0c;很快都下来了&#xff0c;作为回报我打算还是写一篇关于TexturePacker的使用博客吧&#xff0c;有兴趣的可以在这里申请密钥,http://www.codeandweb.com&am…