不能恋爱问题。

代码如下:

#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 最大独立子集相关推荐

  1. poj——2771 Guardian of Decency

    poj--2771    Guardian of Decency Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 5916   ...

  2. 【新手向】最大团问题和最大独立子集的懒人算法(随机化)

    不要去百度百科找最大团,因为你会找到一个团购网站= = 维基百科:https://en.wikipedia.org/wiki/Clique_problem 首先,团是什么呢? 团就是一个点集,点集中任 ...

  3. UVA - 12083 Guardian of Decency (二分匹配)

    题意:有N个人,已知身高.性别.音乐.运动.要求选出尽可能多的人,使这些人两两之间至少满足下列四个条件之一. 1.身高差>40  2.性别相同  3.音乐不同  4.运动相同 分析: 1.很显然 ...

  4. poj 2771 有点难度最大独立集

    题意:一个老师要带一些学生去旅游 , 下面任意两个学生至少要满足下面一个条件: 1.身高相差要超过40cm 2.性别相同 3.最喜欢的音乐属于不同类型 4.最喜欢的体育比赛相同 解 法:我们首先这样来 ...

  5. 【转载】图论 500题——主要为hdu/poj/zoj

    转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...

  6. ACM比赛经验、刷题记录及模板库总结(更新中)

    前言 本文所提及的部分题目代码,可以在我的Github上找到 第一部分 经验分享及感受 第二部分 刷题记录 一.基础算法&程序语言 //strlen()函数的复杂度是O(n)要小心 //截取字 ...

  7. 【HDOJ图论题集】【转】

    1 =============================以下是最小生成树+并查集====================================== 2 [HDU] 3 1213 How ...

  8. 一系列图论问题[转]

    =============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...

  9. 图论练习题(存起来练)

    =============================以下是最小生成树+并查集======================================  [HDU]  1213 How Man ...

最新文章

  1. 博士大佬整理的机器学习算法知识手册 | 附PDF下载
  2. 如何消除摄影中的运动模糊?
  3. 一些NLP的面试问题
  4. 交互设计实用指南系列 – 我们眼中的交互设计
  5. let definitions are not supported by current javascript
  6. NAPI技术--在Linux 网络驱动上的应用和完善(二)
  7. pfSense修改PPPoE拨号总数
  8. uni-app 更新包提示HTML5+Runtime缺少升级包manifest.json中配置的模块:payment
  9. 02 Nginx和Keepalived高可用
  10. 关于Mysql以及Sqlyog的下载以及使用记录
  11. usb计算机采集卡,关于usb视频采集卡 hdmi设置你可能不知道
  12. 数码相机冲洗照片的数据
  13. 【资料】哈代拉马努金相关,悼文,哈佛演讲,及各种杂七杂八资料整理
  14. 2012年度江西省科学技术奖授奖项目名单
  15. 微信小程序开发学习第二天 按部就班的名片小程序
  16. 【每日一题】字符串解码
  17. 同一台 win10 服务器跑多个 wiki(包括 DokuWiki、django-wiki)
  18. remote: error: cannot lock ref ‘refs/heads/dev/mz/dev‘: ‘refs/heads/dev‘ exists; cannot create ‘refs
  19. 文字转语音软件哪个比较好?快来收藏这几个宝藏软件
  20. RMVB转换成家用DVD可播放的格式

热门文章

  1. Java8 HashMap
  2. vuejs基础玩法(基础知识,不喜勿喷!)
  3. 2018.3.23 13周5次课
  4. Linux服务器init 5启动图形界面,报错Retrigger failed udev events的解决方法
  5. 隐藏tabwidgt 用radiogroup来实现tab的切换
  6. 自定义Sharepoint的登陆页面(2)
  7. 用一个比喻说明项目里各个成员的角色
  8. mac地址信息查询站点
  9. FreeMarker基本语法详解及模板文件的组成(二)
  10. 一周第一次课笔记(1月22日)