码迷,mamicode.com
首页 > 其他好文 > 详细

poj3692Kindergarten 二分匹配之最大独立集

时间:2015-08-06 20:35:19      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:二分匹配

//g个girl , b个boy , gril都被彼此认识,boy也彼此认识
//有的girl和boy也彼此认识
//问最多能选出多少人,这些人都彼此认识
//对陌生人建立一个图
//那么其最大独立集就是最多的彼此认识的人
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std ;
const int maxn = 210 ;
int map[maxn][maxn] ;
int g , b , m;
int match[maxn] , vis[maxn] ;
int find(int st)
{
    for(int i = 1;i <= b;i++){
      if(!vis[i] && !map[st][i]){
         vis[i] = 1 ;
         if(match[i] == -1 || find(match[i])){
           match[i] = st ;
           return true ;
        }
      }
    }
  return false ;
}
int main()
{
    int cas =  0;
    while(scanf("%d%d%d" , &g , &b  ,&m) &&(g+b+m))
    {
        memset(match , -1 , sizeof(match)) ;
        memset(map, 0 , sizeof(map)) ;
        for(int i = 1 ;i <= m;i++)
        {
            int u ,v ;
            scanf("%d%d" , &u , &v) ;
            map[u][v] = 1;
        }
        int ans = 0 ;
        for(int i = 1;i <= g;i++)
        {
            memset(vis , 0 , sizeof(vis)) ;
            if(find(i))
            ans++ ;
        }
        printf("Case %d: " , ++cas) ;
        cout<<g+b-ans<<endl;
    }
    return 0 ;
}


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

poj3692Kindergarten 二分匹配之最大独立集

标签:二分匹配

原文地址:http://blog.csdn.net/cq_pf/article/details/47321443

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!