poj 3692 Kindergarten (最大独立集)

原创 2015年07月06日 19:54:01

题意:G个女孩,B个男孩。女孩互相都认识,男孩也互相都认识。部分女孩和男孩互相认识。问最多有多少人两两都认识。


分析:如果把互相认识的人之间连一条边,得到一个图G。对于图G的逆图G',发现是一个二分图。其中的边表示两人不认识。那么问题就转化为求最多有多少个点,任意两点之间不相邻(认识),即最大独立集问题。


最大独立集=顶点数-最大匹配数



#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
bool Map[205][205],T[205];
int Left[205],G,B;

int match(int u){
    for(int i=1;i<=B;++i){
        if(Map[u][i]&&!T[i]){
            T[i]=1;
            if(!Left[i]||match(Left[i])){
                Left[i]=u;
                return 1;
            }
        }
    }
    return 0;
}
int main()
{
    int M,ca=1,i,j,x,y;
    while(cin>>G>>B>>M){
        if(!G&&!B&&!M) break;
        for(i=1;i<=G;++i)
        for(j=1;j<=B;++j) Map[i][j]=1;
        for(i=1;i<=M;++i){
            scanf("%d%d",&x,&y);
            Map[x][y]=0;
        }
        memset(Left,0,sizeof(Left));
        int ans=0;
        for(i=1;i<=G;++i){
            memset(T,0,sizeof(T));
            ans+=match(i);
        }
        printf("Case %d: %d\n",ca++,B+G-ans);
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

POJ 3692 Kindergarten 二分图最大独立集

POJ 3692Kindergarten 二分图最大独立集 Description In a kindergarten, there are a lot of kids. All girls ...

POJ 3692 Kindergarten(最大独立集)

POJ 3692 Kindergarten(最大独立集) http://poj.org/problem?id=3692 题意:        已知班级有g个女孩和b个男孩,所有女生之间都相互认识,所有...

poj 3692 Kindergarten(二分匹配,最大独立集)

题目链接 Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6485   Acc...
  • fouzhe
  • fouzhe
  • 2016年09月02日 20:35
  • 97

POJ 题目3692 Kindergarten(最大独立集)

Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5710   A...

POJ 3692 Kindergarten (补图+最大独立集)

Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6313   Accepted: 310...
  • Yasola
  • Yasola
  • 2016年07月28日 08:31
  • 298

POJ-3692Kindergarten,求最大独立集!

Kindergarten Time Limit: 2000MS   Memory Limit: 65536K       Descriptio...

POJ3692 Kindergarten 【最大独立集】

Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5317   A...

poj 3692 Kindergarten(最大独立点集 + 二分图最大匹配)

http://poj.org/problem?id=3692 题意:在幼儿园中,有许多小孩。其中有男孩,也有女孩。女孩之间相互认识,男孩之间也相互认识。同时,一些男孩和女孩之间也相互认识,有一天,老师...

poj 3692 & 2771 二部图最大独立集(选认识的孩子玩游戏)

题意:所有男孩都互相认识,所有女孩也互相认识。又已知有若干男生和女生互相认识。现在要选出最大的孩子结合,使得他们之间全部互相认识。 思路:思路比较明确,如果把所有孩子看成顶点,认识连边构成图,则题意为...

poj 3692 最大团(二分图匹配,最大独立集)

http://poj.org/problem?id=3692 题意: 每个男生之间都相互认识,每个女生之间都相互认识,每个男生可能认识部分女生。求一个集合里面的人相互都认识,这个集合的人数最多是多...
  • liujc_
  • liujc_
  • 2016年04月18日 15:11
  • 557
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj 3692 Kindergarten (最大独立集)
举报原因:
原因补充:

(最多只允许输入30个字)