LA 3415

阅读: 评论:0

LA 3415

LA 3415

题目:.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1416

最大独立集 = 点数 - 最大匹配数

解法:按男女分类,不满足4条任何条件的建边,求最大匹配。

代码:

#include <stdio.h>
#include <ctime>
#include <math.h>
#include <limits.h>
#include <complex>
#include <string>
#include <functional>
#include <iterator>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <list>
#include <bitset>
#include <sstream>
#include <iomanip>
#include <fstream>
#include <iostream>
#include <ctime>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <time.h>
#include <ctype.h>
#include <string.h>
#include <assert.h>using namespace std;int n, n1, n2;
int p[510][510];
int book[510];
int match[510];
bool vis[510];bool dfs(int u)
{for (int i = 1; i <= n2; i++){if (book[i] == 0 && p[u][i] == 1){book[i] = 1;if (match[i] == 0 || dfs(match[i])){match[i] = u;return true;}}}return false;
}struct node
{char music[110];char sports[110];char sex[10];int high;
}stu[510],boy[510], girl[510];int main()
{int t;scanf("%d", &t);while (t--){memset(p, 0, sizeof(p));memset(match, 0, sizeof(match));memset(vis, false, sizeof(vis));n1 = 0, n2 = 0;scanf("%d", &n);for (int i = 1;i <= n;i++){scanf("%d%s%s%s", &stu[i].high, stu[i].sex, stu[i].music, stu[i].sports);if (stu[i].sex[0] == 'M'){n1++;boy[n1].high = stu[i].high;strcpy(boy[n1].music,stu[i].music);strcpy(boy[n1].sports, stu[i].sports);}else{n2++;girl[n2].high = stu[i].high;strcpy(girl[n2].music, stu[i].music);strcpy(girl[n2].sports, stu[i].sports);}}for (int i = 1;i <= n1;i++){for (int j = 1;j <= n2;j++){if (!(abs(boy[i].high - girl[j].high) > 40 || strcmp(boy[i].sports, girl[j].sports) == 0 || strcmp(boy[i].music, girl[j].music) != 0))p[i][j] = 1;}}int ans = 0;for (int i = 1; i <= n1; i++){memset(book, 0, sizeof(book));if (dfs(i))ans++;}printf("%dn", n - ans);}return 0;
}

本文发布于:2024-01-31 11:56:02,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170667336328348.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:LA
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23