标签:
Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8470 Accepted Submission(s): 3890
#include<stdio.h>
#include<string.h>
#define MAX 1100
int vis[MAX],map[MAX][MAX],stu[MAX];
int t;
int find(int x)
{
int i;
for(i=0;i<t;i++)
{
if(map[x][i]&&vis[i]==0)
{
vis[i]=1;
if(stu[i]==0||find(stu[i]))
{
stu[i]=x;
return 1;
}
}
}
return 0;
}
int main()
{
int n,m,i,j,sum,a,b;
while(scanf("%d",&t)!=EOF)
{
memset(stu,0,sizeof(stu));
memset(map,0,sizeof(map));
for(i=0;i<t;i++)
{
scanf("%d: (%d)",&a,&n);
while(n--)
{
scanf("%d",&b);
map[a][b]=1;
}
}
sum=0;
for(i=0;i<t;i++)
{
memset(vis,0,sizeof(vis));
if(find(i))
sum++;
}
printf("%d\n",t-sum/2);
}
return 0;
}
hdoj 1068 Girls and Boys【匈牙利算法+最大独立集】
标签:
原文地址:http://www.cnblogs.com/tonghao/p/4662073.html