HDU1068 Girls and Boys(最大独立集)
来源:互联网 发布:qt软件怎么样 编辑:程序博客网 时间:2024/05/20 10:52
Girls and Boys
Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 11519 Accepted Submission(s): 5406
Problem Description
the second year of the university somebody started a study on the romantic relations between the students. The relation “romantically involved” is defined between one girl and one boy. For the study reasons it is necessary to find out the maximum set satisfying the condition: there are no two students in the set who have been “romantically involved”. The result of the program is the number of students in such a set.
The input contains several data sets in text format. Each data set represents one set of subjects of the study, with the following description:
the number of students
the description of each student, in the following format
student_identifier:(number_of_romantic_relations) student_identifier1 student_identifier2 student_identifier3 ...
or
student_identifier:(0)
The student_identifier is an integer number between 0 and n-1, for n subjects.
For each given data set, the program should write to standard output a line containing the result.
The input contains several data sets in text format. Each data set represents one set of subjects of the study, with the following description:
the number of students
the description of each student, in the following format
student_identifier:(number_of_romantic_relations) student_identifier1 student_identifier2 student_identifier3 ...
or
student_identifier:(0)
The student_identifier is an integer number between 0 and n-1, for n subjects.
For each given data set, the program should write to standard output a line containing the result.
Sample Input
70: (3) 4 5 61: (2) 4 62: (0)3: (0)4: (2) 0 15: (1) 06: (2) 0 130: (2) 1 21: (1) 02: (1) 0
Sample Output
52
Source
Southeastern Europe 2000
思路:二分图的最大独立集 = 节点数-最大匹配数,这道题目给的图是无向图,所以求出的cnt应该除2;
#include <cstdio>#include <vector>#include <cstring>using namespace std;int n,m,vis[1505],link[1505];vector<int>p[1505];int find(int u){for(int i = 0; i < p[u].size(); i ++){int v = p[u][i];if(!vis[v]){vis[v] = 1;if(link[v] == -1 || find(link[v])){link[v] = u;return 1;}}}return 0;}int main(){while(~scanf("%d",&n)){for(int i = 0; i <= n; i ++)p[i].clear();int a,b;for(int i = 0; i < n; i ++){scanf("%d: (%d)",&a,&m);for(int j = 0; j < m; j ++){scanf("%d",&b);p[a].push_back(b);}}int cnt = 0;memset(link,-1,sizeof(link));for(int i = 0; i < n; i ++){memset(vis,0,sizeof(vis));if(find(i))cnt ++;}printf("%d\n",n-cnt/2);}return 0;}
0 0
- hdu1068 Girls and Boys 最大独立集
- hdu1068 Girls and Boys最大独立集
- hdu1068 Girls and Boys 最大独立集
- hdu1068 Girls and Boys --- 最大独立集
- HDU1068 Girls and Boys 【最大独立集】
- HDU1068 Girls and Boys(最大独立集)
- hdu1068 Girls and Boys (二分图最大独立集)
- HDU1068 (最大独立集)Girls and Boys
- HDU1068-Girls and Boys(二分图_最大独立集)
- hdu1068 Girls and Boys,二分图最大独立集
- hdu1068 Girls and Boys(最大点独立集)
- hdu1068-Girls and Boys(最大独立集,匹配问题)
- 【HDU1068】Girls and Boys(最大独立集数,匈牙利算法)
- hdu1068解题报告--Girls and Boys--可以说是白话最大独立集学习总结
- HDU1068,POJ1466——Girls and Boys(二分图最大独立集)
- Girls and Boys----最大独立集(匹配)
- POJ1466-Girls and Boys(最大独立集)
- 最大独立集 poj1466 Girls and Boys
- MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
- Facebook Workplace 工作传讯应用或推免费版
- 微信公众平台开发入门到实战开发视频教程(Java+PHP)
- 5.单例模式与多线程
- calico配置 BGP Peers
- HDU1068 Girls and Boys(最大独立集)
- 良心发现?Win10将主动控制后台软件来省电
- SecureCRT&SecureFX(二):SecureCRT&SecureFX的简单操作教程
- github的几种加文件的方法
- HDU 1566 Color the ball
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 面向对象的陷阱——非静态内部类的陷阱
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- MATLAB之输出