poj 1466 Girls and Boys (最大独立)

来源:互联网 发布:panc.cc搜索软件 编辑:程序博客网 时间:2024/05/17 08:59

点击打开链接

题目意思:

给你n个学生,编号为0到n-1;给出有浪漫关系的学生编号。求没有浪漫关系的学生数目。。

如:

7     //7个学生0: (3) 4 5 6//编号为0的学生与4,5,6有浪漫关系。1: (2) 4 62: (0)3: (0)4: (2) 0 15: (1) 06: (2) 0 130: (2) 1 21: (1) 02: (1) 0

code:

#include"stdio.h"#include"string.h"#define N 501int n,m,map[N][N],mark[N],link[N];int dfs(int t){int i;for(i=0;i<n;i++){if(!mark[i]&&map[t][i]){mark[i]=1;if(link[i]==-1||dfs(link[i])){link[i]=t;return 1;}}}return 0;}int MaxMatch(){int i,num;num=0;memset(link,-1,sizeof(link));for(i=0;i<n;i++){memset(mark,0,sizeof(mark));if(dfs(i))num++;}return num;}int main(){int i,j,a,b,c,ans;while(scanf("%d",&n)!=-1){memset(map,0,sizeof(map));for(i=0;i<n;i++){scanf("%d: (%d) ",&a,&b);for(j=0;j<b;j++){scanf("%d",&c);map[a][c]=1;}}ans=MaxMatch();printf("%d\n",n-ans/2);}return 0;}


原创粉丝点击