码迷,mamicode.com
首页 > 编程语言 > 详细

hdu 2441 匈牙利算法求最大独立集

时间:2015-02-06 23:12:05      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

匈牙利算法

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<cmath>
 6 #include<queue>
 7 using namespace std;
 8 int n,m,t;
 9 int vis[1002],link[1002],line[1002][1002];
10 bool find(int x)
11 {
12     for(int i=0;i<n;i++)
13     {
14         if(line[x][i]&&!vis[i])
15         {
16             vis[i]=1;
17             if(link[i]==-1||find(link[i]))
18             {
19                 link[i]=x;
20                 return true;
21             }
22         }
23     }
24     return false;
25 }
26 
27 int main()
28 {
29     int i,j,k;
30     //freopen("1.in","r",stdin);
31     while(scanf("%d",&n)!=EOF)
32     {
33         int p,q;
34         int tot=0;
35         memset(link,-1,sizeof(link));
36         memset(line,0,sizeof(line));
37         for(i=1;i<=n;i++)
38         {
39             scanf("%d: (%d)",&p,&q);
40             for(j=0;j<q;j++)
41             {
42                 scanf("%d",&k);
43                 line[p][k]=1;
44             }
45         }
46         for(i=0;i<n;i++)
47         {
48             memset(vis,0,sizeof(vis));
49             if(find(i))  tot++;
50         }
51         //printf("%d %d\n",n,tot);
52         printf("%d\n",n-tot/2);
53     }
54     return 0;
55 }

 

hdu 2441 匈牙利算法求最大独立集

标签:

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

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