POJ-2771 Guardian of Decency 最大独立子集
不能恋爱问题。
代码如下:
#include <cstdlib>#include <cstdio>#include <cstring>using namespace std; int N; int G[505][505], visit[505], marry[505]; struct P{int h;char sex[5], style[105], fav[105];}p[505]; int judge(int x, int y){if (abs(p[x].h-p[y].h)>40)return 0;else if (p[x].sex[0] == p[y].sex[0])return 0;else if (strcmp(p[x].style, p[y].style))return 0;else if (!strcmp(p[x].fav, p[y].fav))return 0;else return 1;} int path(int u) {for (int i = 1; i <= N; ++i) {if (!G[u][i] || visit[i]) {continue; } visit[i] = 1;if (!marry[i] || path(marry[i])) { marry[i] = u;return 1; } }return 0;} int main(){int T, ans; scanf("%d", &T);while (T--) { ans = 0; memset(G, 0, sizeof (G)); memset(marry, 0, sizeof (marry)); scanf("%d", &N);for (int i = 1; i <= N; ++i) { scanf("%d %s %s %s", &p[i].h, p[i].sex, p[i].style, p[i].fav); } for (int i = 1; i <= N; ++i) {for (int j = 1; j <= N; ++j) {if (judge(i, j)) { G[i][j] = 1; } } } for (int i = 1; i <= N; ++i) { memset(visit, 0, sizeof (visit));if (path(i)) { ++ans; } } printf("%d\n", N-(ans>>1)); }return 0;}
转载于:https://www.cnblogs.com/Lyush/archive/2012/04/05/2433121.html
POJ-2771 Guardian of Decency 最大独立子集相关推荐
- poj——2771 Guardian of Decency
poj--2771 Guardian of Decency Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 5916 ...
- 【新手向】最大团问题和最大独立子集的懒人算法(随机化)
不要去百度百科找最大团,因为你会找到一个团购网站= = 维基百科:https://en.wikipedia.org/wiki/Clique_problem 首先,团是什么呢? 团就是一个点集,点集中任 ...
- UVA - 12083 Guardian of Decency (二分匹配)
题意:有N个人,已知身高.性别.音乐.运动.要求选出尽可能多的人,使这些人两两之间至少满足下列四个条件之一. 1.身高差>40 2.性别相同 3.音乐不同 4.运动相同 分析: 1.很显然 ...
- poj 2771 有点难度最大独立集
题意:一个老师要带一些学生去旅游 , 下面任意两个学生至少要满足下面一个条件: 1.身高相差要超过40cm 2.性别相同 3.最喜欢的音乐属于不同类型 4.最喜欢的体育比赛相同 解 法:我们首先这样来 ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- ACM比赛经验、刷题记录及模板库总结(更新中)
前言 本文所提及的部分题目代码,可以在我的Github上找到 第一部分 经验分享及感受 第二部分 刷题记录 一.基础算法&程序语言 //strlen()函数的复杂度是O(n)要小心 //截取字 ...
- 【HDOJ图论题集】【转】
1 =============================以下是最小生成树+并查集====================================== 2 [HDU] 3 1213 How ...
- 一系列图论问题[转]
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
- 图论练习题(存起来练)
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Man ...
最新文章
- 博士大佬整理的机器学习算法知识手册 | 附PDF下载
- 如何消除摄影中的运动模糊?
- 一些NLP的面试问题
- 交互设计实用指南系列 – 我们眼中的交互设计
- let definitions are not supported by current javascript
- NAPI技术--在Linux 网络驱动上的应用和完善(二)
- pfSense修改PPPoE拨号总数
- uni-app 更新包提示HTML5+Runtime缺少升级包manifest.json中配置的模块:payment
- 02 Nginx和Keepalived高可用
- 关于Mysql以及Sqlyog的下载以及使用记录
- usb计算机采集卡,关于usb视频采集卡 hdmi设置你可能不知道
- 数码相机冲洗照片的数据
- 【资料】哈代拉马努金相关,悼文,哈佛演讲,及各种杂七杂八资料整理
- 2012年度江西省科学技术奖授奖项目名单
- 微信小程序开发学习第二天 按部就班的名片小程序
- 【每日一题】字符串解码
- 同一台 win10 服务器跑多个 wiki(包括 DokuWiki、django-wiki)
- remote: error: cannot lock ref ‘refs/heads/dev/mz/dev‘: ‘refs/heads/dev‘ exists; cannot create ‘refs
- 文字转语音软件哪个比较好?快来收藏这几个宝藏软件
- RMVB转换成家用DVD可播放的格式