poj 1274The Perfect Stall

第一次接触二分图匹配。

这题是一个匈牙利算法的模板题直接套就行。

题意是  给你奶牛和谷仓的个数a和b,接下来a行是奶牛喜欢去的谷仓。第一个是谷仓个数,接下来是谷仓编号。

这里我们把行当奶牛,列当谷仓。

在套模板。。ok;

#include<Stdio.h>
#include<string.h>
int map[1005][1005];
int a,b,link[1005],use[1005];

int dfs(int cap)
{
	int i,j;
	for(i=1;i<=b;i++)
	{
		if(map[cap][i]&&!use[i])
		{
			use[i]=1;
			j=link[i];
			link[i]=cap;
			if(j==-1||dfs(j))
				return 1;
			link[i]=j;
		}
	}
	return 0;
}

int hungary()
{
	int num=0;
	int i,j;
	memset(link,-1,sizeof(link));
	for(i=1;i<=a;i++)
	{
		for(j=1;j<=b;j++)
		{
			use[j]=0;
		}
		if(dfs(i))
			num++;
	}
	return num;
}
int main()
{
	int i,j,c,d;
	while(~scanf("%d %d",&a,&b))
	{
		memset(map,0,sizeof(map));
		for(i=1;i<=a;i++)
		{
			scanf("%d",&c);
			for(j=1;j<=c;j++)
			{
				scanf("%d",&d);
				map[i][d]=1;
			}
		}
		printf("%d\n",hungary());
	}
	return 0;
}

poj 1274The Perfect Stall,布布扣,bubuko.com

时间: 2024-12-19 17:14:30

poj 1274The Perfect Stall的相关文章

POJ 1274--The Perfect Stall【二分图 &amp;&amp; 最大匹配数 &amp;&amp; 水题】

The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20795   Accepted: 9386 Description Farmer John completed his new barn just last week, complete with all the latest milking technology. Unfortunately, due to engineering pr

POJ 1274-The Perfect Stall(二分图_最大匹配)

The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19272   Accepted: 8737 Description Farmer John completed his new barn just last week, complete with all the latest milking technology. Unfortunately, due to engineering pr

poj 1274The Perfect Stall 二分匹配模板水题

#include<iostream> #include<cstdio> #include<cstring> using namespace std; const int maxn = 210; int match[maxn]; int line[maxn][maxn]; int vis[maxn]; int N , M; int find(int start) { for(int i = 1;i <= M;i++) { if(!vis[i]&&li

poj 1274 The Perfect Stall 解题报告

题目链接:http://poj.org/problem?id=1274 题目意思:有 n 头牛,m个stall,每头牛有它钟爱的一些stall,也就是几头牛有可能会钟爱同一个stall,问牛与 stall 最大匹配数是多少. 二分图匹配,匈牙利算法入门题,留个纪念吧. 书上看到的一些比较有用的知识: 增广:通俗地说,设当前二分图中,已有 x 个匹配边(代码中match[i] 不为0的个数有x个),现在对 i 点(也就是代码中dfs中的参数 x) 指定一个匹配点 j, 由于 j 可能有匹配点设为

poj 1274 The Perfect Stall (二分匹配)

The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 17768   Accepted: 8104 Description Farmer John completed his new barn just last week, complete with all the latest milking technology. Unfortunately, due to engineering pr

POJ 1274 The Perfect Stall、HDU 2063 过山车(最大流做二分匹配)

The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 24081   Accepted: 10695 Description Farmer John completed his new barn just last week, complete with all the latest milking technology. Unfortunately, due to engineering p

POJ 1274 The Perfect Stall【二分图最大匹配】

题意:二分图最大匹配 分析:二分图最大匹配 代码: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <vector> 5 using namespace std; 6 7 const int maxn = 205; 8 int n; 9 10 int Link[maxn]; 11 int vis[maxn]; 12 vector<int> G[ma

POJ 1274 The Perfect Stall 水二分匹配

题目链接:点击打开链接 嘿嘿 #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<vector> #include<queue> #include<functional> #define N 2011 using namespace std; int lef[N], pn;//lef[v]表示Y集的点v 当前连接

POJ 1274 The Perfect Stall (网络流-最大流)

The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18308   Accepted: 8328 Description Farmer John completed his new barn just last week, complete with all the latest milking technology. Unfortunately, due to engineering pr