• poj3692_Kindergarten


      这题目大意是:男孩互相认识,女孩互相认识,一部分男女之间认识,老师要选一部分人,要求这部分人必须都相互认识。

      这是一个二部图,先求出补图,在补图中G‘左右两点有连线说明在G中两者不认识,反之成立。

      所以就是在补图中怎样来构造左右两部分间互相之间没有连线的图。============> 在G’中求出最大匹配,用匈牙利算法,然后去掉这些匹配中每个匹配的一个点让连线断掉,就找到了最大独立点集。说到这里,大家就知道了,求最大团就是等价于求补图中的最大独立点集。

      代码如下:

     1 #include <stdio.h>
     2 #include <string.h>
     3 int n1,n2,m,ans;
     4 int result[1001]; //记录V2中的点匹配的点的编号
     5 bool state [1001]; //记录V2中的每个点是否被搜索过
     6 bool data[1001][501];//邻接矩阵 true代表有边相连
     7 void init() {
     8     int t1,t2;
     9     for(int i=0;i<=200;++i)
    10     for(int j=0;j<=200;++j)
    11         data[i][j]=1;
    12     memset(result,0,sizeof(result));
    13     ans = 0;
    14     for (int i = 1; i <= m; i++) {
    15         scanf("%d%d",&t1,&t2);
    16         data[t1][t2] = 0;
    17     }
    18     return;
    19 }
    20 bool find(int a) {
    21     for (int i = 1; i <= n2; i++) {
    22         if (data[a][i] == 1 && !state[i]) { //如果节点i与a相邻并且未被查找过
    23             state[i] = true; //标记i为已查找过
    24             if (result[i] == 0 //如果i未在前一个匹配M中
    25             || find(result[i])) { //i在匹配M中,但是从与i相邻的节点出发可以有增广路
    26                 result[i] = a; //记录查找成功记录
    27                 return true; //返回查找成功
    28             }
    29         }
    30     }
    31     return false;
    32 }
    33 int main() {
    34     int CASE=0;
    35     while(~scanf("%d%d%d",&n1,&n2,&m)&&(n1||n2||m)){
    36         init();
    37         for (int i = 1; i <= n1; i++) {
    38             memset(state,0,sizeof(state)); //清空上次搜索时的标记
    39             if (find(i)) ans++; //从节点i尝试扩展
    40         }
    41         printf("Case %d: %d
    ",++CASE,n1+n2-ans);
    42     }
    43     return 0;
    44 }
  • 相关阅读:
    SharePoint 2013 配置基于表单的身份认证
    SharePoint 2013 场解决方案包含第三方程序集
    SharePoint 2010 站点附加数据升级到SP2013
    SharePoint 2013 在母版页中插入WebPart
    SharePoint 2013 搭建负载均衡(NLB)
    SharePoint 部署解决方案Feature ID冲突
    SharePoint 2013 配置基于AD的Form认证
    SharePoint Server 2016 Update
    SharePoint 2013 为用户组自定义EventReceiver
    SharePoint 2013 JavaScript API 记录
  • 原文地址:https://www.cnblogs.com/symons1992/p/3594722.html
Copyright © 2020-2023  润新知