L2-044 大众情人分数 25分

news2025/1/20 5:48:11

人与人之间总有一点距离感。我们假定两个人之间的亲密程度跟他们之间的距离感成反比,并且距离感是单向的。例如小蓝对小红患了单相思,从小蓝的眼中看去,他和小红之间的距离为 1,只差一层窗户纸;但在小红的眼里,她和小蓝之间的距离为 108000,差了十万八千里…… 另外,我们进一步假定,距离感在认识的人之间是可传递的。例如小绿觉得自己跟小蓝之间的距离为 2,则即使小绿并不直接认识小红,我们也默认小绿早晚会认识小红,并且因为跟小蓝很亲近的关系,小绿会觉得自己跟小红之间的距离为 1+2=3。当然这带来一个问题,如果小绿本来也认识小红,或者他通过其他人也能认识小红,但通过不同渠道推导出来的距离感不一样,该怎么算呢?我们在这里做个简单定义,就将小绿对小红的距离感定义为所有推导出来的距离感的最小值。

一个人的异性缘不是由最喜欢他/她的那个异性决定的,而是由对他/她最无感的那个异性决定的。我们记一个人 i 在一个异性 j 眼中的距离感为 Dij​;将 i 的“异性缘”定义为 1/maxj∈S(i)​{Dij​},其中 S(i) 是相对于 i 的所有异性的集合。那么“大众情人”就是异性缘最好(值最大)的那个人。

本题就请你从给定的一批人与人之间的距离感中分别找出两个性别中的“大众情人”。

输入格式:

输入在第一行中给出一个正整数 N(≤500),为总人数。于是我们默认所有人从 1 到 N 编号。

随后 N 行,第 i 行描述了编号为 i 的人与其他人的关系,格式为:

性别 K 朋友1:距离1 朋友2:距离2 …… 朋友K:距离K

其中 性别 是这个人的性别,F 表示女性,M 表示男性;K(<N 的非负整数)为这个人直接认识的朋友数;随后给出的是这 K 个朋友的编号、以及这个人对该朋友的距离感。距离感是不超过 106 的正整数。

题目保证给出的关系中一定两种性别的人都有,不会出现重复给出的关系,并且每个人的朋友中都不包含自己。

输出格式:

第一行给出自身为女性的“大众情人”的编号,第二行给出自身为男性的“大众情人”的编号。如果存在并列,则按编号递增的顺序输出所有。数字间以一个空格分隔,行首尾不得有多余空格。

输入样例:

6
F 1 4:1
F 2 1:3 4:10
F 2 4:2 2:2
M 2 5:1 3:2
M 2 2:2 6:2
M 2 3:1 2:5

输出样例:

2 3
4

代码长度限制

16 KB

Java (javac)

时间限制

1200 ms

内存限制

128 MB

其他编译器

时间限制

400 ms

内存限制

64 MB

思路:floyd()算法没啥说的,暂时没别的办法了。

坑点:知道是“对他/她最无感的那个异性决定的”就行了,后面那一串公式就是用来你的,是不是感觉表述不清楚,还在吐槽题目……………………,

              对他/她最无感的异性,那就是==所有异性眼中,距离他/她最远的那个值决定的,不用管那个值是多少,反正距离最远就对了

若g[i][j]表示 i 对 j 的距离, 那么需要找的应该是所有异性 g[j][i]的值中最大的那一个作为 i 的异性缘指标,

        然后假设有 s 个女性 / 男性 ,还得从 s 个指标中找最小的那一个是属于谁的,谁才是大众情人

 

#include<bits/stdc++.h>
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
const int INF=0x3f3f3f3f;
const int N=505;

vector<int>F,M;
queue<int>que;
int g[N][N];


int solve(int n){   
	//floyd算法 
	for(int k=1;k<=n;k++)
	for(int i=1;i<=n;i++)
	for(int j=1;j<=n;j++)
	g[i][j]=min(g[i][j],g[i][k]+g[k][j]);

//查看数据	
//	for(int i=1;i<=n;i++){
//		cout<<"   "<<FM[i]<<i<<"  ";
//	for(int j=1;j<=n;j++) printf("%5d  ",g[i][j]);
//	cout<<endl;	
//	}

	//女生大众情人 
	int min_D=INF;
	for(int i=0;i<F.size();i++){
		int Dij=0;
		for(int j=0; j<M.size(); j++){//寻找所有男性眼中她是最远的那个值 
			Dij=max(Dij,g[M[j]][F[i]]);				
//			printf("   D%d%d=%-3d",M[j],F[i],g[M[j]][F[i]]);
		}
//		cout<<"--> 女"<<F[i]<<" : "<<Dij<<endl;
		if(Dij<min_D){
			min_D=Dij;
			while (!que.empty()) que.pop();	
			que.push(F[i]); 
		} 									
		else if( Dij==min_D)  que.push(F[i]);	
	}	
	
	if(!que.empty()){  cout<<que.front();	que.pop(); }			
	while(!que.empty()) { cout<<" "<<que.front();	que.pop(); }
	cout<<endl;
		
	//男生大众情人 
	int max_D=INF;
	for(int i=0;i<M.size();i++){
		int Dij=0;
		for(int j=0; j<F.size(); j++){//寻找所有男性眼中她是最远的那个值 
			Dij=max(Dij,g[F[j]][M[i]]);				
//			printf("   D%d%d=%-3d",F[i],M[j],g[F[j]][M[i]]);
		}
//		cout<<"  男"<<M[i]<<" : "<<Dij<<endl;
		
		if(Dij<max_D){
			max_D=Dij;
			while (!que.empty()) que.pop();	
			que.push(M[i]); 
		} 									
		else if( Dij==max_D)  que.push(M[i]);	
	}	
	
	if(!que.empty()){  cout<<que.front();	que.pop(); }		
	while(!que.empty()) { cout<<" "<<que.front();	que.pop(); }
	cout<<endl;	
}

int main(){
	//cin.tie(0)->sync_with_stdio(false); cout.tie(0);
	memset(g,INF,sizeof g);
	int n,k,j,dis;	
	char fm; 
	cin>>n;
	for(int i=1;i<=n;i++){
		g[i][i]=0;	
		cin>>fm>>k;
		if(fm=='F')	F.push_back(i);
		else 	M.push_back(i); 
		while(k--) { 
			scanf("%d:%d",&j,&dis); 
			g[i][j]=dis; 
		}		
	}
	solve(n);
	return 0;
} 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/427749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Hello Linux】信号量

作者&#xff1a;小萌新 专栏&#xff1a;Linux 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;简单介绍linux中信号量的概念 信号量信号量的概念信号量的使用信号量函数二元信号量模拟互斥功能基于环形队列的生产者消费者模型空间资…

CSS快速入门-选择器和优先级

文章目录CSS简介选择器CSS样式优先级CSS简介 CSS是一种用于样式化网页的语言&#xff0c;全称为“层叠样式表”&#xff08;Cascading Style Sheets&#xff09;。 它可以控制网页中元素的外观和布局&#xff0c;例如颜色、字体、大小、边距、对齐等&#xff0c;让网页变得更…

消费回暖:别总想着“报复”,而该想想怎么“修复”

01 是报复性消费吗&#xff1f;「报复性消费」一词最早是在2020年武汉疫情解封之后被大家熟知。之后的三年里&#xff0c;各路机构总是预测“等到常态化防疫结束之后&#xff0c;必将迎来真正的报复性消费”&#xff0c;事实果真如此吗&#xff1f;A面&#xff1a;涨自去年年底…

健康体检管理系统源码 PEIS源码 体检小结自动生成

健康体检管理系统源码 PEIS源码 数据对接 体检小结自动生成&#xff0c;商业源码&#xff0c;有演示&#xff0c;文档齐全。自主知识产权。 文末获取联系&#xff01; 一套专业的体检管理系统源码&#xff0c;该系统涵盖个人体检、团队体检、关爱体检等多种体检类型&#xf…

Learning Tone Curves for Local Image Enhancement

作者 LUXI ZHAO , ABDELRAHMAN ABDELHAMED , AND MICHAEL S. BROWN 论文比较清晰易懂。 就是图像分8∗8648*8648∗864个patch&#xff0c; 卷积网络为RGB三个通道预测 3∗643*643∗64 个 look up table, 就是每个patch 3个1D lut. 然后每个patch的中心直接用1D lut&#xf…

spring boot对敏感信息进行加解密

我们使用jasypt最新版本对敏感信息进行加解密。 1.在项目pom文件中加入如下依赖&#xff1a; <dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.3</version…

多维时序 | MATLAB实现CNN-GRU-Attention多变量时间序列预测

多维时序 | MATLAB实现CNN-GRU-Attention多变量时间序列预测 目录多维时序 | MATLAB实现CNN-GRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 MATLAB实现CNN-GRU-Attention多变量时间序列预测&#xff0c;CNN-GRU-Attention结合注意…

Unity记录3.4-地图-柏林噪声生成 1D 地图及过渡地图

文章首发及后续更新&#xff1a;https://mwhls.top/4489.html&#xff0c;无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评&#xff0c;非常感谢&#xff01; 汇总&#xff1a;Unity 记录 摘要&#xff1a;柏林噪声生成…

超详细Redis入门教程——Redis概述

前言 本文小新为大家带来 超详细Redis入门教程——Redis概述 相关知识&#xff0c;具体内容包括Redis简介&#xff0c;Redis的用途&#xff0c;Redis的特性&#xff0c;Redis的IO模型&#xff08;包括&#xff1a;单线程模型&#xff0c;混合线程模型&#xff0c;多线程模型&am…

FPGA基于SFP光口实现1G千兆网UDP通信 1G/2.5G Ethernet PCS/PMA or SGMII替代网络PHY芯片 提供工程源码和技术支持

目录1、前言2、我这里已有的UDP方案3、详细设计方案4、vivado工程详解5、上板调试验证并演示6、福利&#xff1a;工程代码的获取1、前言 目前网上的fpga实现udp基本生态如下&#xff1a; 1&#xff1a;verilog编写的udp收发器&#xff0c;但不带ping功能&#xff0c;这样的代码…

【部署】openvino2023环境配置

1. 下载 官网下载&#xff0c;我的选项如下&#xff1a; 2.配置 2.1. 在visual studio的配置 下载vs2017或者是vs2022 新建一个c项目。选择控制台应用视图–》解决方案资源管理器 在源文件下创建main.cpp文件视图–》其他窗口–》属性管理器 右键Release 添加新项目属性表…

RocketMQ单机环境搭建测试

1.资源下载 官网&#xff1a;下载 | RocketMQ 这里选择使用编译后可以直接用的 下载后解压&#xff1a;略 2.更改配置 主要是更改 conf/broker.conf 的配置&#xff0c;记得添加上下面这几行&#xff0c;否则消息发送失败 autoCreateTopicEnabletrue # 支持自动创建topic…

GitHub重量上线,开源分布式架构原理设计笔记分享

在分布式系统中&#xff0c;一次业务处理可能需要多个应用来实现&#xff0c;比如用户发送一次下单请求&#xff0c;就涉及到订单系统创建订单&#xff0c;库存系统减库存&#xff0c;而对于一次下单&#xff0c;订单创建与减库存应该是要同时成功或者同时失效&#xff0c;但在…

大气颗粒物PMF源解析

详情点击链接&#xff1a;大气颗粒物PMF源解析 一&#xff0c;PMF源解析技术及其输入文件准备 1、大气污染源解析方法有哪些&#xff1f; 2、这些方法各自应用的条件以及它们的优缺点&#xff1f; 3、大气颗粒物的基础知识及各组分的主要来源 大气颗粒物的来源&#xff1a…

逆序对问题的两种求解思路(归并排序和树状数组)

前言&#xff1a;我们在求解逆序对问题时题目往往会给我们加大数据量&#xff0c;防止我们以暴力的方式通过该题&#xff0c;所以在遇到有关求解逆序对问题的时候&#xff0c;我们有必要知道一些具体的优化方法&#xff0c;对于逆序对我们&#xff0c;我们一般的会有两种标准求…

Python实现GWO智能灰狼优化算法优化XGBoost分类模型(XGBClassifier算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 灰狼优化算法(GWO)&#xff0c;由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能…

天猫数据分析软件(天猫销售数据如何查询)

俗话说得好&#xff1a;“知己知彼&#xff0c;百战不殆”。当前&#xff0c;在天猫店铺运营中&#xff0c;大家也非常注重数据分析&#xff0c;由此能够了解到竞争对手及整个行业的销售数据及销售趋势。 一、具体来讲&#xff0c;做好天猫数据分析有哪些益处呢&#xff1f; 1、…

pytorch 数据类型

文章目录一、tensor如何表示字符串数据类型类型判断Dimension 0Dimension 1Dimension 2Dimension 3Dimension 4mixed二、创建Tensorimport from numpyimport from listuninitialized 未初始化set default typerand/rand_like, randintfulllinspaceindex切片三、维度变换总结一、…

假期怕剧荒?五一假期追剧人正确打开方式

马上就是五一假期了 趁着假期必须狠狠刷剧才是我们追剧人正确的打开方式&#xff01; 追剧人&#xff0c;追剧魂 追剧人就是快乐多&#xff01; 俗话说&#xff0c;吃饭不能没有饭碗&#xff0c;那咱们追剧也不能没有好用的追剧平台啊&#xff01; 之前因为要一次性追好几部…

React styled-components (一) —— 基本使用

https://github.com/styled-components/styled-components styled-components 基本使用介绍优点缺点安装引入使用基本用法样式嵌套介绍 styled-components 是一个针对 React 的 css in js 类库。 和所有同类型的类库一样&#xff0c;styled-components 通过 js 赋能解决了原生…