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_最大团

In a kindergarten, there are a lot of kids. All girls of the kids know each other and all  boys als...
  • huangshuai147
  • huangshuai147
  • 2016年05月28日 10:17
  • 239

POJ 3692 Kindergarten(最大独立集)

POJ 3692 Kindergarten 题目链接 题意:一个班级内,男的都互相认识,女的都互相认识,现在有k对男女互相认识,要求选出最多的人,使得他们两两互相认识 思路:最大独立...
  • u011217342
  • u011217342
  • 2014年10月30日 18:39
  • 468

POJ 3692 Kindergarten (最大独立集)

题目链接:http://poj.org/problem?id=3692 题意:
  • u013742332
  • u013742332
  • 2014年09月19日 17:20
  • 284

POJ 3692 Kindergarten(最大独立集)

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

POJ 3692 Kindergarten 最大团->最大独立集

题意:在幼儿园中,男孩们相互
  • u012139398
  • u012139398
  • 2014年08月18日 11:32
  • 387

POJ 3692 Kindergarten 二分图最大独立集

POJ 3692Kindergarten 二分图最大独立集 Description In a kindergarten, there are a lot of kids. All girls ...
  • u013599426
  • u013599426
  • 2014年11月01日 12:09
  • 259

poj 3692 Kindergarten 二分图 最大独立集

poj 3692 Kindergarten http://poj.org/problem?id=3692   挑选最多的互相认识的小朋友   补图的最大独立集   #include ...
  • qianxun136930775
  • qianxun136930775
  • 2012年05月10日 19:30
  • 191

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

Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5710   A...
  • yu_ch_sh
  • yu_ch_sh
  • 2015年07月21日 21:13
  • 367

poj 3692 二分图最大独立集 Kindergarten

题意:给出一些同学彼此了解,然后求要选出一些同学,两两之间都了解的最大数量。 思路:其实也是个最大独立集问题,就是不了解才建边,求出的最大独立集也就是任意两两之间都是了解的。 #include ...
  • a402630999
  • a402630999
  • 2012年03月05日 13:20
  • 222

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

Description In a kindergarten, there are a lot of kids. All girls of the kids know each other and...
  • Misdom_Tian_Ya
  • Misdom_Tian_Ya
  • 2014年11月01日 10:07
  • 287
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj 3692 Kindergarten (最大独立集)
举报原因:
原因补充:

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