博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1274 The Perfect Stall【二分图匹配】
阅读量:6474 次
发布时间:2019-06-23

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

题意: 有 n 牛,  m 个 房子,  每个牛都只住在自己想住的房子里面,一个房子只能住一个牛,问最多可以安排多少头牛入住。

分析:  求最大匹配。

View Code
#include
#include
#define clr(x)memset(x,0,sizeof(x))struct node{ int to,next;}q[40005];int tot;int head[202];void add(int s,int u){ q[tot].to=u; q[tot].next=head[s]; head[s]=tot++;}int link[202];bool v[202];bool find(int x){ int i,k; for(i=head[x];i;i=q[i].next) { k=q[i].to; if(!v[k]) { v[k]=true; if(link[k]==0||find(link[k])) { link[k]=x; return 1; } } } return 0;}int main(){ int sum,n,m,k,t,x,i; while(scanf("%d%d",&n,&m)!=EOF) { clr(head); clr(link); tot=1; for(i=1;i<=n;i++) { scanf("%d",&t); while(t--) { scanf("%d",&x); add(i,x); } } sum=0; for(i=1;i<=n;i++) { clr(v); if(find(i)) sum++; } printf("%d\n",sum); } return 0;}

 

转载于:https://www.cnblogs.com/dream-wind/archive/2012/04/22/2464753.html

你可能感兴趣的文章
《UNIX网络编程》中第一个timer_server的例子
查看>>
CISCO 路由器(4)
查看>>
网络服务搭建、配置与管理大全(Linux版)
查看>>
Silverlight 5 Beta新特性[4]文本缩进控制
查看>>
springMVC多数据源使用 跨库跨连接
查看>>
Git服务端和客户端安装笔记
查看>>
Spring Security(14)——权限鉴定基础
查看>>
IntelliJ IDEA快捷键
查看>>
【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(下)
查看>>
MongoDB的基础使用
查看>>
进程间通信——命名管道
查看>>
LINUX 重定向的知识
查看>>
ssh登陆不需要密码
查看>>
ARP
查看>>
java mkdir()和mkdirs()区别
查看>>
桌面支持--excel自动换行
查看>>
虚拟化--003 vcac licence -成功案例
查看>>
windows server 2003各版本及2008各版本的最大识别内存大小
查看>>
OSChina 周六乱弹 ——揭秘后羿怎么死的
查看>>
centos查找未挂载磁盘格式化并挂载
查看>>