zoukankan      html  css  js  c++  java
  • HDU 2458

    有一堆男孩和女孩,男孩和男孩之间,女孩和女孩之间互相认识,给出一堆男孩女孩之间认识的关系,

    问一个组里最多多少人相互都认识

    那么

    二分图里

    将不认识的连线

    那么 相互认识的人最多 就为 最大独立点集

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 using namespace std;
     5 int map[205][205];
     6 int link[205];
     7 int vis[205];
     8 int n,m,k,ans;
     9 bool dfs(int t)
    10 {
    11     int x;
    12     for(int i=1;i<=m;i++)
    13     {
    14         if(!vis[i]&&!map[t][i])
    15         {
    16             vis[i]=1;
    17             if(link[i]==-1||dfs(link[i]))
    18             {
    19                 link[i]=t;
    20                 return 1;
    21             }
    22         }
    23     }
    24     return 0;
    25 }
    26 int main()
    27 {
    28     int i,j,a,b,t=0;
    29     while(~scanf("%d%d%d",&n,&m,&k)&&(n+m+k))
    30     {
    31         memset(map,0,sizeof(map));
    32         for(i=1;i<=k;++i)
    33         {
    34             scanf("%d%d",&a,&b);
    35             map[a][b]=1;
    36         }
    37         memset(link,-1,sizeof(link));
    38         ans=0;
    39         for(i=1;i<=n;i++)
    40         {
    41             memset(vis,0,sizeof(vis));
    42             if(dfs(i)) ++ans;
    43         } 
    44         ans=m+n-ans;
    45         printf("Case %d: %d
    ",++t,ans);
    46     }
    47 }
    我自倾杯,君且随意
  • 相关阅读:
    第六周
    第五周
    第四周
    第二周学习记录
    实验一 Linux初步认识
    java实验四
    java实验三
    为什么无密码认证能够有效
    关于父元素,子元素,同级元素的DOM操作技巧
    高效设计构建软件的十三条建议
  • 原文地址:https://www.cnblogs.com/nicetomeetu/p/5508931.html
Copyright © 2011-2022 走看看