古人云:秀恩爱,分得快。

互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度。如果一张照片上出现了 K 个人,这些人两两间的亲密度就被定义为 1/K。任意两个人如果同时出现在若干张照片里,他们之间的亲密度就是所有这些同框照片对应的亲密度之和。下面给定一批照片,请你分析一对给定的情侣,看看他们分别有没有亲密度更高的异性朋友?

输入格式:

输入在第一行给出 2 个正整数:N(不超过1000,为总人数——简单起见,我们把所有人从 0 到 N-1 编号。为了区分性别,我们用编号前的负号表示女性)和 M(不超过1000,为照片总数)。随后 M 行,每行给出一张照片的信息,格式如下:

K P[1] ... P[K]

其中 K(≤ 500)是该照片中出现的人数,P[1] ~ P[K] 就是这些人的编号。最后一行给出一对异性情侣的编号 A 和 B。同行数字以空格分隔。题目保证每个人只有一个性别,并且不会在同一张照片里出现多次。

输出格式:

首先输出 A PA,其中 PA 是与 A 最亲密的异性。如果 PA 不唯一,则按他们编号的绝对值递增输出;然后类似地输出 B PB。但如果 A 和 B 正是彼此亲密度最高的一对,则只输出他们的编号,无论是否还有其他人并列。

输入样例 1:

10 4
4 -1 2 -3 4
4 2 -3 -5 -6
3 2 4 -5
3 -6 0 2
-3 2

输出样例 1:

-3 2
2 -5
2 -6

输入样例 2:

4 4
4 -1 2 -3 0
2 0 -3
2 2 -3
2 -1 2
-3 2

输出样例 2:

-3 2

思路:用一个二维数组g来存储在同一张照片的不同人之间的亲密度,maxn来记录和A和异性的最大亲密度和B和异性的最大亲密度,因为题目要求按他们编号的绝对值递增输出,所以我们采用set分别存储男性和女性,最后遍历输出就行了

注:stoi是将string类型转换成int型

#include<iostream>
#include<algorithm>
#include<cstring>
#include<set>
#include<vector>using namespace std;const int N=1010;double g[N][N],maxn[N];
vector<int>a,b;
set<int>A,B;
int n,m;int main()
{cin>>n>>m;while(m--){int k;a.clear();b.clear();cin>>k;for(int i=0;i<k;i++){string s;cin>>s;if(s[0]=='-')//女性{a.push_back(abs(stoi(s)));A.insert(abs(stoi(s)));}else//男性{b.push_back(stoi(s));B.insert(stoi(s));}}for(int i=0;i<a.size();i++){for(int j=0;j<b.size();j++){g[a[i]][b[j]]+=1.0/k;g[b[j]][a[i]]+=1.0/k;if(maxn[a[i]]<g[a[i]][b[j]]) maxn[a[i]]=g[a[i]][b[j]];if(maxn[b[j]]<g[b[j]][a[i]]) maxn[b[j]]=g[b[j]][a[i]];}}}string s1,s2;int aa,bb;cin>>s1>>s2;aa=abs(stoi(s1)),bb=abs(stoi(s2));if(maxn[aa]==g[aa][bb]&&maxn[bb]==g[bb][aa])//s1和s2正是彼此亲密度最高的{cout<<s1<<' '<<s2;return 0;}if(s1[0]=='-')//第一个人是女性{for(auto p:B)//遍历异性if(maxn[aa]==g[p][aa])cout<<s1<<' '<<p<<endl;}else{for(auto p:A)if(maxn[aa]==g[p][aa])cout<<s1<<' '<<'-'<<p<<endl;}if(s2[0]=='-'){for(auto p:B)if(maxn[bb]==g[bb][p])cout<<s2<<' '<<p<<endl;}else{for(auto p:A)if(maxn[bb]==g[bb][p])cout<<s2<<' '<<'-'<<p<<endl;}return 0;
}

L2-028 秀恩爱分得快 (25 分)(模拟)相关推荐

  1. 秀恩爱分得快 (25 分)

    L2-028 秀恩爱分得快 (25 分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的 ...

  2. 【CCCC】L2-028 秀恩爱分得快 (25分),模拟题

    problem L2-028 秀恩爱分得快 (25分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人, ...

  3. L2-028 秀恩爱分得快 (25 分)

    L2-028 秀恩爱分得快 (25 分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的 ...

  4. L2-028 秀恩爱分得快 (25 分) 两种解法,详细分析

    L2-028 秀恩爱分得快 (25 分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的 ...

  5. 重返天梯-L2-028 秀恩爱分得快 (25 分)

    题目描述 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的亲密度就被定义为 1/K.任意两 ...

  6. PTA-L2-028 秀恩爱分得快 (25分)

    PTA-L2-028 秀恩爱分得快 (25分) 传送门 这道题纯粹的数据结构 我们特别注意0和-0的情况,所以应该字符串读入. 如果把所有异性的亲密度值都算出来,会tle 我们只需要算出关于那一对情侣 ...

  7. 天梯赛 L2-028 秀恩爱分得快 (25 分)[测试点3 4 5][未填坑]

    L2-028 秀恩爱分得快 (25 分) 思路: 结构体储存个人最高亲密值(double)和对应异性的亲密值(vector< double > q[i]=k 表示与编号绝对值为i的异性的亲 ...

  8. L2-028 秀恩爱分得快 (25分)

    @[TOC](L2-028 秀恩爱分得快 (25分)) 题目 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K ...

  9. PTA秀恩爱分得快 (25分)

    PTA秀恩爱分得快 (25分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的亲密度就被 ...

  10. 团体程序设计天梯赛-练习集 L2-028 秀恩爱分得快 (25 分) (详细解法)

    题目链接:L2-028 秀恩爱分得快 题目: 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两 ...

最新文章

  1. 敏捷开发流程的8个步骤
  2. 分享Silverlight/WPF/Windows Phone一周学习导读(10月1日-10月15日)
  3. java 数据库数据脱敏_Sharding-JDBC-数据脱敏
  4. spoj453 Sums in a Triangle (tutorial) 动态规划
  5. promtail 配置详解_基于loki+promtail+grafana技术的日志集合
  6. WPF:从WPF Diagram Designer Part 1学习控件模板、移动、改变大小和旋转
  7. 先验概率、后验概率与似然估计
  8. 分享visio2010下载地址中文版本32位中文版本64位和激活密钥方法哦
  9. 深度分析:PSP3000被破解 狂欢?还是哀悼?
  10. 国内液压与气动标准大全
  11. 锂电池充电管理芯片ic XSC01支持筋膜枪8.4V12.6V16.8充电
  12. 【Python】爬虫入门级实战讲解:爬取商城的商品名称及价格
  13. 开源项目之:SharpDevelop
  14. Excel打造翻译神器(自定义函数)
  15. matlab 柱状图怎么叠加,如何让柱形图重叠起来
  16. MATLAB 2019 快速入门教程(官方手册翻译)(1/4)
  17. leetcode刷题日记(一)—— 数组
  18. java发邮件的代码
  19. WS小世界网络的仿真实现
  20. markdown模板笔记

热门文章

  1. 135 最大子序和(单调队列优化)
  2. js区分360和谷歌浏览器(火狐、搜狗等)
  3. leaflet常用插件库
  4. 盐城北大青鸟射阳中专基地军训丨不畏艰难,青春无悔
  5. MySQLSQL练习
  6. html canvas生成图片,html5 canvas画板涂鸦生成图片代码
  7. apple watch se2 参数 功能介绍 苹果手表se2续航怎么样
  8. 2019 vs 安装odt_2019年12月6日罗马协会直播预告
  9. 小米5c android7.0,亲儿子待遇真爽!小米5c正式升级安卓7.1
  10. 2021-2027全球与中国家畜口蹄疫 (FMD) 疫苗市场现状及未来发展趋势