POJ 题目3692 Kindergarten(最大独立集)
来源:互联网 发布:知名net域名网站 编辑:程序博客网 时间:2024/06/07 11:17
Description
In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know each other. In addition to that, some girls and boys know each other. Now the teachers want to pick some kids to play a game, which need that all players know each other. You are to help to find maximum number of kids the teacher can pick.
Input
The input consists of multiple test cases. Each test case starts with a line containing three integers
G, B (1 ≤ G, B ≤ 200) and M (0 ≤ M ≤ G × B), which is the number of girls, the number of boys and
the number of pairs of girl and boy who know each other, respectively.
Each of the following M lines contains two integers X and Y (1 ≤X≤ G,1 ≤ Y ≤ B), which indicates that girl X and boy Y know each other.
The girls are numbered from 1 to G and the boys are numbered from 1 to B.
The last test case is followed by a line containing three zeros.
Output
For each test case, print a line containing the test case number( beginning with 1) followed by a integer which is the maximum number of kids the teacher can pick.
Sample Input
2 3 31 11 22 32 3 51 11 22 12 22 30 0 0
Sample Output
Case 1: 3Case 2: 4
Source
一道基础的二分图最大独立集问题。
#include<stdio.h>#include<string.h>int link[220],map[220][220],vis[220];int x,y,m;void init(){int i,j;for(i=0;i<=x;i++){for(j=0;j<=y;j++)map[i][j]=1;}}int dfs(int x){int i;for(i=1;i<=y;i++){if(!vis[i]&&map[x][i]){vis[i]=1;if(link[i]==-1||dfs(link[i])){link[i]=x;return 1;}}}return 0;}int main(){int c=0;while(scanf("%d%d%d",&x,&y,&m)!=EOF,x||m||y){int i;init();while(m--){int a,b;scanf("%d%d",&a,&b);map[a][b]=0;}memset(link,-1,sizeof(link));int ans=0;for(i=1;i<=x;i++){memset(vis,0,sizeof(vis));if(dfs(i))ans++;}printf("Case %d: %d\n",++c,x+y-ans);}}
- POJ 题目3692 Kindergarten(最大独立集)
- POJ 3692 Kindergarten(最大独立集)
- poj--3692--Kindergarten(最大独立集)
- POJ 3692 Kindergarten (最大独立集)
- POJ 3692 Kindergarten ( 最大独立点集 )
- POJ 3692 Kindergarten(最大独立集)
- POJ 3692 Kindergarten (最大独立集)
- poj 3692 Kindergarten (最大独立集)
- POJ 3692 Kindergarten(最大独立集)
- POJ-3692Kindergarten,求最大独立集!
- POJ 3692 Kindergarten(最大独立集)
- poj 3692 Kindergarten(二分图匹配,最大独立集)
- poj 3692 二分图最大独立集 Kindergarten
- poj 3692 Kindergarten 二分图 最大独立集
- POJ 3692 - Kindergarten 二分图的最大独立点集
- Poj 3692 Kindergarten 二分图最大独立点集
- POJ 3692 Kindergarten 最大团->最大独立集
- POJ 3692 Kindergarten 二分图最大独立集
- Android控件介绍
- java 接口。Android Interface 自定义接口回调。
- vim删除命令
- 39. Combination Sum
- 【多校第一场】【单调队列】HDU 5289 Assignment
- POJ 题目3692 Kindergarten(最大独立集)
- www.chevin.net
- LeetCode题解——Merge Two Sorted Lists
- 手把手教你在centos下编译安装配置高性能web服务器环境nginx+php(fast-cgi)+mysql等/适合小内存vps使用
- 设计模式 --6大法则 --迪米特法则
- 利用树莓派做智能小车
- 静态类和静态方法、接口和抽象类、内部类、单子设计模式
- <将来的你一定会感谢现在拼命的自己>读书随笔
- C语言if语句判断闰年平年