POJ 2771 Guardian of Decency 【最大独立集】

告别手动标注!用ENVI Classic高效搞定高光谱图像语义分割标签(以农业/地物分类为例) 本文详细介绍了如何利用ENVI Classic实现高光谱图像的半自动化智能标注,特别针对农业和地物分类场景。通过光谱特征分析、智能标注技巧和MAT文件转换,显著提升标注效率和质量,助力AI模型训练。 阅读详情

传送门:http://poj.org/problem?id=2771

Guardian of Decency
Time Limit: 3000MS Memory Limit: 65536K
Total Submissions: 6456 Accepted: 2668

Description

Frank N. Stein is a very conservative high-school teacher. He wants to take some of his students on an excursion, but he is afraid that some of them might become couples. While you can never exclude this possibility, he has made some rules that he thinks indicates a low probability two persons will become a couple: 
  • Their height differs by more than 40 cm. 
  • They are of the same sex. 
  • Their preferred music style is different. 
  • Their favourite sport is the same (they are likely to be fans of different teams and that would result in fighting).

So, for any two persons that he brings on the excursion, they must satisfy at least one of the requirements above. Help him find the maximum number of persons he can take, given their vital information. 

Input

The first line of the input consists of an integer T ≤ 100 giving the number of test cases. The first line of each test case consists of an integer N ≤ 500 giving the number of pupils. Next there will be one line for each pupil consisting of four space-separated data items: 
  • an integer h giving the height in cm; 
  • a character 'F' for female or 'M' for male; 
  • a string describing the preferred music style; 
  • a string with the name of the favourite sport.

No string in the input will contain more than 100 characters, nor will any string contain any whitespace. 

Output

For each test case in the input there should be one line with an integer giving the maximum number of eligible pupils.

Sample Input

2
4
35 M classicism programming
0 M baroque skiing
43 M baroque chess
30 F baroque soccer
8
27 M romance programming
194 F baroque programming
67 M baroque ping-pong
51 M classicism programming
80 M classicism Paintball
35 M baroque ping-pong
39 F romance ping-pong
110 M romance Paintball

Sample Output

3
7

Source

 

题意概括:

有 N 个学生,依次给出他们的身高、性别、喜欢音乐的类型、喜欢的运动。

老师给出了 四条 不可能成为亲密关系的条件。老师想带尽可能多的学生,但是有不想他们发展成为亲密恋人(两两至少满足一条上述的条件)。

问最多能带多少学生?

解题思路:

我们把条件反过来建图,即有可能成为亲密关系的连边。

那么就转换为求他们的最大独立集了。

 

AC code:

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <algorithm>
 4 #include <cstring>
 5 #define INF 0x3f3f3f3f
 6 using namespace std;
 7 const int MAXN = 505;
 8 struct date
 9 {
10     int h;
11     char mf[2], music[101], spo[101];
12 }pp[MAXN];
13 
14 struct Edge
15 {
16     int v, nxt;
17 }edge[MAXN*MAXN];
18 
19 int head[MAXN],cnt;
20 int linker[MAXN];
21 bool used[MAXN];
22 int N;
23 
24 void init()
25 {
26     memset(head, -1, sizeof(head));
27     memset(linker, -1, sizeof(linker));
28     memset(edge, 0, sizeof(edge));
29     cnt = 0;
30 }
31 
32 void add(int from, int to)
33 {
34     edge[cnt].v = to;
35     edge[cnt].nxt = head[from];
36     head[from] = cnt++;
37 }
38 
39 bool Find(int x)
40 {
41     int v;
42     for(int i = head[x]; i != -1; i = edge[i].nxt){
43         v = edge[i].v;
44         if(!used[v]){
45             used[v] = true;
46             if(linker[v] == -1 || Find(linker[v])){
47                 linker[v] = x;
48                 return true;
49             }
50         }
51     }
52     return false;
53 }
54 
55 bool chk(date a, date b)
56 {
57     if(abs(a.h-b.h) <= 40){
58         if(a.mf[0] != b.mf[0]){
59             if(strcmp(a.music, b.music) == 0){
60                 if(strcmp(a.spo, b.spo) != 0){
61                     return true;
62                 }
63             }
64         }
65     }
66     return false;
67 }
68 
69 int main()
70 {
71     int T_case;
72     scanf("%d", &T_case);
73     while(T_case--){
74         init();
75         scanf("%d", &N);
76         for(int i = 1; i <= N; i++){
77             scanf("%d %s %s %s", &pp[i].h, &pp[i].mf, &pp[i].music, &pp[i].spo);
78             for(int j = 1; j < i; j++){
79                 if(chk(pp[i], pp[j])){
80                     add(i, j);
81                     add(j, i);
82                 }
83             }
84         }
85         int ans = 0;
86         for(int i = 1; i <= N; i++){
87             memset(used, 0, sizeof(used));
88             if(Find(i)) ans++;
89         }
90         printf("%d\n", N-ans/2);
91     }
92     return 0;
93 }
View Code

 

Python之afdx包语法、参数和实际应用案例 Python 的 afdx 包是针对 AFDX 协议的轻量级开发工具,专注于 AFDX 数据帧的解析、构造、发送/接收、协议合规性校验等核心能力,广泛应用于航空电子设备测试、仿真、数据监控等场景。 阅读详情

相关推荐

STM407ZET6+OV5640调试心得

最近一个项目用了STMF407ZET6 +OV5640,调试了好几天做些总结; STMF407ZET6 开发板用的是正点原子的开发板,OV5640摄像头用的是秉火摄像头; 这其中有一个大坑,开发板的DCMI接口跟摄像头的接口不一样,要重新用杜邦线进行连接; 本人是在正点原子的“”15,ATK-OV5640摄像头模块“”源码上进行修改的。

kingseacjh的专栏 8326

poj 2771 二分图最大独立集

是一道二分图最大独立集的裸题,,,就是看着麻烦了点,,其实很简单。题目: Guardian of Decency Time Limit:3000MS Memory Limit:65536K Total Submissions:3584 Accepted:1493 Description Frank N. Stein is...

hunxiejun 186

新一代XMOS会议四麦方案主控芯片 XVF3800

2023年,知名的音频芯片制造厂商 XMOS 正式发布了新一代会议麦阵芯片片 XVF3800 ,这款芯片采用最先进的四麦音频算法,可在嘈杂的环境中提供高质量语音,算法支持圆形、条形阵列,可根据应用场景组成不同的产品形态。传统的麦阵解决方案,不仅需要捕捉会议中的人声,也会同时捕捉环境中的其他噪声,而 XMOS 先进的语音算法解决了这一问题。声学回声消除功能可消除麦克风音频输入的回声,同时减少远端回声,使 XVF3800 能提取清晰的语音信号。• 180度拾音条形麦克风阵列。• 360度拾音环形麦克风阵列。

PawPaw_electron的博客 785

POJ 2771 Guardian of Decency 最大独立集

POJ 2771 Guardian of Decency 最大独立集 题意: 把可能产生关系的连接起来,然后用求二分图的最大独立集 最大独立集=总顶点数 - 匹配数/2   #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;iostream&gt; #include&lt;algorithm&gt; #incl...

LMengi000的博客 298

思博伦Spirent TestCenter创建单播流uni-stream

Traffic Generator列表中会出现刚才创建的uni-stream,创建完成。通常测试情况下,主要对Ethenet II和IPv4 Header进行配置。(通常情况下,如果流配置比较规范,选择任意端口接收,也没问题。编辑uni-stream基本信息。配置本条流由STC哪个端口接收。

辗转反测的博客 1683

苹果开发者账号( Apple Developer)登录出现:你的 Apple ID 暂时不符合使用此应用程序的条件(您的apple账户不符合资格)

Apple开发对于新手来说确实可能会遇到各种问题,在遇到 Apple Developer 账号登录问题时,除了检查账号的安全性设置和协议确认外,还需要考虑账号的具体配置问题,比如主邮箱的设置。

Winter_Sun灬的博客 4140

POJ - 2771 Guardian of Decency 二分图 最大匹配数

题目大意:有n个人要参加一项活动,活动要求参加的人里面尽量不要有couples,主办方提出了四个降低couples的方法: 1.两个人的身高差大于40 2.性别相同 3.喜欢的音乐风格不同 4.喜欢的运动相同 只要满足其中的一项就认定两人不是couples 现在给出n个人的四项数据,问最多能邀请到多少人解题思路:这题和Poj 1466 Girls and Boys这题很相似,只不过这题给

静静地码 848

复现HumanMAC(HumanMAC: Masked Motion Completion for Human Motion Prediction)

Human3.6M和HumanEva-I都放到data目录下(记得将data_multi_modal-20250320T022408Z-001.zip和humaneva_multi_modal-20250320T022412Z-001.zip解压缩并且分别重命名为data_multi_modal和humaneva_multi_modal)。生成的gif存放在inference目录下zero_shot_<INDEX>下的out目录下。新建一个data目录,将

qq_52643100的博客 833

poj2771(二分图,最大独立集)

Guardian of Decency Time Limit:3000MS Memory Limit:65536K Total Submissions:5398 Accepted:2269 Description Frank N. Stein is a very conservative high-sc...

weixin_30522183的博客 196

光伏发电系统模拟及其发电预测开源python工具pvlib

本文介绍光伏发电系统模拟及其发电预测开源python工具pvlib,以及举例介绍获取辐照度方法、光伏发电预测思路。

肖永威的专栏 1万+

Python实现支付宝转账接口

由于工作需要使用python开发一个自动转账接口,记录一下开发过程。 首先需要在蚂蚁金服上申请开通开发者账户,有了开发者账户就可以使用沙箱进行开发了。 在开发之前我们需要在沙箱应用中填写密钥,密钥的获取可以使用阿里提供的工具包自动生成。 前期准备工作完成了,接下来是编写代码部分。主要用到了python-alipay-sdk库,使用pip安装即可,如果安装的过程中遇到问题推荐使用Anaconda...

FanMLei的博客 8516

POJ 2771 Guardian of Decency 二分图最大独立集

http://poj.org/problem?id=2771 题意:老师带学生出去旅游,老师想要尽可能的避免学生谈恋爱,又想尽可能的带学生出去, 四种情况满足任意种都不会谈恋爱 1.身高差超过40厘米 2.性别一样 3.音乐风格不一样 4,爱好的运动一样 题解:我们这样想,先把他们能谈恋爱的全都匹配起来,然后再把他们狠心拆开也就是只带他们中的一个去,所有答案就等于总人数-最大的匹配数,这也是为什么...

accepted_accepted的博客 207

零基础入门simulink建模仿真--基于Simulink的QPSK调制与解调仿真建模示例

QPSK是一种相位调制技术,将两个比特映射到一个符号上,每个符号对应四个可能的相位之一(0°、90°、180°、270°)。通过Simulink,我们可以通过模块化的建模方式实现QPSK的调制和解调过程,并观察信号在信道中的传输效果。通过本指南,我们介绍了如何基于Simulink搭建一个完整的QPSK调制与解调仿真模型,并进行仿真和性能评估。背景介绍:理解QPSK调制与解调的基本原理及其应用。所需工具和环境:列出进行QPSK仿真所需的工具和环境。步骤详解。

amy_mhd的博客 1310

POJ 2771 Guardian of Decency(二分图最大独立集)

POJ 2771 Guardian of Decency(二分图最大独立集) http://poj.org/problem?id=2771 题意:        老师带学生出去旅游,但是担心学生会发生恋爱关系,所以带出去的学生至少要满足以下要求之中的一个: 1.身高相差40cm以上 2.同性 3.喜欢的音乐风格不同 4.喜欢的运动相同 问最多可以带出去多少学生? 分析:

code 1179

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

POJ 2771 Guardian of Decency (二分图的最大独立集)

题目类型  最大独立集 题目意思 给出最多10000个点的坐标 每次可以消除同一行的点或同一列的点 问至少要多少次才能把所有点都消除掉 解题方法 首先建图 每一个行号为一个点 每一个列号为一个点 那么对于一个要消除的点就对应一条这个点的行号与这个点的列号相连的边 那么消除所有点的目的就转化成对于每条边都要从这条边的两个端点找一个点与这条边关联, 即

yunyouxi0's blog 740

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【POJ】2771 Guardian of Decency 最大独立集

传送门:【POJ】2771 Guardian of Decency 题目分析:补图的最大独立集。因为

poursoul 788

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

poj 2771 Guardian of Decency (二分图求最大独立集)

Sample Input 2 4 35 M classicism programming 0 M baroque skiing 43 M baroque chess 30 F baroque soccer 8 27 M romance programming 194 F baroque programming 67 M baroque ping-pong 51 M classicism prog

LSS 564

poj 2771 Guardian of Decency 最大独立集

题意: 有n个人,其中有一些人在一起会搞呢飞起,现在他们要出去玩,求最多能去多少人。 分析: 若两个人会搞呢飞起则他们之间有一条边,转化为求最大独立集问题(二分图。。)。 代码: #include #include using namespace std; const int maxN=512; struct Stu { int h; string gender,music,s

sepNINE的专栏 687

POJ2771_Guardian of Decency(二分图/最大独立集=N-最大匹配)

解题报告 题目传送门 题意: 看到题目我就笑了,,, 老师认为这样的两个学生不是一对: 身高相差40以上(年龄都不是距离了,身高又算什么) 不同性别(sad,,,就不允许基友存在呀,,,谁的肥皂掉了,,,) 喜欢不一样的歌曲类型(你总不能要求两人整天听小苹果吧,,,,,,你是我的小丫小苹果,,,,,,) 喜欢一样的运动( they are likely to be fans of

_nplus 2039

POJ 2771 Guardian of Decency(二分图最大独立集,裸题)

二分图最大独立集,裸题 题目意思: 有k 个学生,学生有男女,某些男女之间有些可能谈恋爱。老师要带一些学生出去 旅游,要求不能有男女之间谈恋爱。 本题要点: 1、k <= 500, 用邻接矩阵来存图。 左部节点: n个男学生 右部节点: m个女学生。 2、老师要带尽可能多的学生出去,就是取的点尽量多,显然是二分图最大独立集。 二分图最大独立集 = 顶点个数 - 二分图最大匹配 #include <cstdio> #include <cstring> #include <c

qq_38232157的博客 211

poj 2771 Guardian of Decency【最大点独立集】

K -Guardian of Decency Time Limit:3000MSMemory Limit:65536KB64bit IO Format:%I64d & %I64u SubmitStatusPracticePOJ 2771 Appoint description: System Crawler (2014-08-17) ...

weixin_30512785的博客 125

poj 2771 uva12083 Guardian of Decency(二分图最大独立集)

题意:有一个十分保守的老师,准备带n个学生出游,他担心学生之间会成为couple,他认为按照以下规则可以使他们成为couple的可能性降低。 1.两人之间的身高差大于40 2.两人同性 3.喜欢的音乐风格不同 4.最喜欢的运动相同(理由是:可能支持不同的队伍而大打出手) 只要满足一个,就两人成为couple的可能性就很低,符合老师的要求。现在要求从n个人中,选出人数最多,且成为coupl

chen_minghui的博客 309

POJ 2771 Guardian of Decency(最大独立集、二分图匹配)

题意:老师要带一些人出去,要求这里面任何两个人之间不会萌生爱意 思路:有某种关系的人相互连边,很明显就是求最大独立集,而这里只有男生女生两种,故这是二分图匹配问题,因为二分图中,最大独立集 + 最小顶点覆盖 = 顶点数 直接套匈牙利算法模板就行 #include #include #include #include #include #include #include con

hnust_Derker的博客 325

poj2771——Guardian of Decency——————【最大独立集、最大匹配扩展】

/**    解题思路:将每个学生当做一个结点,如果两个人4个条件都不满足,就意味着他们不能同时被选择,连一条无向边。问题就转化为求这个图的最大独立集。可以分男女入图,也可以不分男女。下面给出两种方法。 */ 题目大意:                有个思想保守的老师的老师,组织外出,但又怕同学在旅途中产生爱意,于是要求满足带出去的任意两个同学至少满足下面4条中的一条。(1)身高差大

被虐的goshawk 594

POJ 2771 Guardian of Decency最大独立集

Description Frank N. Stein is a very conservative high-school teacher. He wants to take some of his students on an excursion, but he is afraid that some of them might become couples. While you ca

MissZhou要努力 476
上一篇: POJ Treasure Exploration 【DAG交叉最小路径覆盖】
下一篇: POJ 3020 Antenna Placement 【最小边覆盖】
莜莫oO
博客等级 码龄9年 7粉丝 226原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值