hdu 1068 Girls and Boys(二分图求最大独力集)
2014-08-24 23:15
441 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1068
题目大意:将处于暧昧关系的男女放在一起,不处于暧昧关系的不能放在一起,输出放置数
输入数据本身是对称图,不需要经过特殊处理
最大独力集 = 顶点数 -最大匹配数
代码如下:
#include<iostream> #include<cstring> #include<queue> #include<cmath> #include<cstdio> using namespace std; int map[1000][1000],t,vis[1000],link[1000],match; bool dfs(int i) { for(int j=0;j<t;j++) { if(map[i][j]&&!vis[j]) { vis[j]=1; if(link[j]==-1||dfs(link[j])) { link[j]=i; return true; } } } return false; } void hungry() { int i; match=0; for(i=0;i<t;i++) link[i]=-1; for(i=0;i<t;i++) { memset(vis,0,sizeof(vis)); if(dfs(i)) match++; } } int main() { int i,j,a; while(~scanf("%d",&t)) { memset(map,0,sizeof(map)); for(i=0;i<t;i++) { scanf("%d%*c%*c%*c%d%*c",&i,&j); while(j--) { scanf("%d",&a); map[i][a]=1; } } hungry(); printf("%d\n",t-match/2);//0和1一对与1和0一对是重复的,所以要除以2 } return 0; }
相关文章推荐
- hdu 1068 Girls and Boys 二分图的最大匹配
- hdu - 1068 Girls and Boys (二分图最大独立集+拆点)
- HDU 1068 Girls and Boys(二分图最大独立点集,3级)
- [HDU] 1068 Girls and Boys(二分图最大匹配)
- HDU 1068 Girls and Boys(模板——二分图最大匹配)
- HDU 1068 Girls and Boys (匈牙利算法 二分图的最大独立集数 )
- HDU 1068 Girls and Boys (二分图 最大独立子集)
- HDU 1068 Girls and Boys 二分图最大独立集(最大二分匹配)
- hdu 1068 Girls and Boys(二分图求最大独立点集)
- HDU 1068 Girls and Boys 二分图 最大独立集 字符串
- HDU 1068 Girls and Boys (二分图最大独立集)
- HDU 1068 Girls and Boys二分图最大匹配
- hdu 1068 girls and boys(二分图求最大独立集)
- (step6.3.2)hdu 1068(Girls and Boys——二分图的最大独立集)
- HDU 1068Girls and Boys(二分图最大匹配)
- hdu1068 Girls and Boys (二分图最大独立集)
- hdu 1068 Girls and Boys 二分图的最大匹配
- hdu 1068 Girls and Boys(二分图+最大独立集)
- HDU 1068 Girls and Boys(二分图最大独立点集,3级)
- (step6.3.2)hdu 1068(Girls and Boys——二分图的最大独立集)