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

hdu 3289 最大独立集

时间:2015-04-02 23:50:41      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

题意:一个动物园里有N只猫和K只狗,一些小朋友来参观,他们如果喜欢狗就不喜欢猫,喜欢猫就不喜欢狗,园长想要移走一些动物,如果,移走的是某个小朋友不喜欢的,而喜欢的没被移走,该小朋友就会高兴,求移动的数目使得最多的小朋友开心

 

Sample Input
1 1 2   //1个猫1个狗2个小朋友
C1 D1   //一号小朋友喜欢c1,讨厌d1
D1 C1
1 2 4
C1 D1
C1 D1
C1 D2
D2 C1
 
 
转换为最大独立集做
 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<cmath>
 6 #include<queue>
 7 using namespace std;
 8 #define for0n for(i=0;i<n;i++)
 9 #define for1n for(i=1;i<=n;i++)
10 #define cl(a) memset(a,0,sizeof(a))
11 #define w12 while(scanf("%d%d",&n,&m)!=EOF)
12 int n,m,t;
13 const int MAXN = 1510;
14 int uN,vN;//u,v的数目,使用前面必须赋值
15 int g[MAXN][MAXN];//邻接矩阵
16 int linker[MAXN];
17 bool used[MAXN];
18 bool dfs(int u)
19 {
20     for(int v = 0; v < vN;v++)
21     if(g[u][v] && !used[v])
22     {
23         used[v] = true;
24         if(linker[v] == -1 || dfs(linker[v]))
25         {
26             linker[v] = u;
27             return true;
28         }
29     }
30     return false;
31 }
32 int hungary()
33 {
34     int res = 0;
35     memset(linker,-1,sizeof(linker));
36     for(int u = 0;u < uN;u++)
37     {
38         memset(used,false,sizeof(used));
39         if(dfs(u))res++;
40     }
41     return res;
42 }
43 int main()
44 {
45     int i,j,k;
46     #ifndef ONLINE_JUDGE
47     freopen("1.in","r",stdin);
48     #endif
49     char s1[MAXN][5],s2[MAXN][5];
50     int p;
51     while(scanf("%d%d%d",&n,&m,&p)!=EOF)
52     {
53         cl(g);
54         for(i=0;i<p;i++)
55         {
56             scanf("%s%s",s1[i],s2[i]);
57         }
58         uN=vN=p;
59         for(i=0;i<p;i++)
60         {
61             for(j=i+1;j<p;j++)
62             {
63                 if(strcmp(s1[i],s2[j])==0||strcmp(s1[j],s2[i])==0)
64                 {
65                     g[i][j]=1;
66                     g[j][i]=1;
67                 }
68             }
69         }
70         printf("%d\n",p-hungary()/2);
71     }
72 }

 

hdu 3289 最大独立集

标签:

原文地址:http://www.cnblogs.com/cnblogs321114287/p/4388763.html

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