题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805054698012672

题意:给n个人,m张照片,在同一张照片中的异性亲密值增加1/size(size为该照片中的人数),给出一对情侣,若两人是彼此亲密值最高的异性,则输出两人(忽视并列的),否则分别输出与两人亲密值最高的异性(若有并列按绝对值升序输出)。

思路:首先需要指出的坑在于对0与-0的处理,这就决定了输入只能用字符串输入,同理输出也是。思路大体是对每张照片中的人用set数组保存,输入情侣a,b之后,通过count函数查找set[i]中是否有a/b,有的时候就处理,因为在并列时要按升序输出,我们可以用桶来保存a/b与其他人的亲密值,输出时从0到n-1遍历即可。

AC代码:

 #include<bits/stdc++.h>
using namespace std; const int maxn=;
int n,m,k,sex[maxn];
double maxa,maxb,pa[maxn],pb[maxn];
set<int> st[maxn]; int geti(char* s){
int ans;
if(s[]=='-')
ans=atoi(s+),sex[ans]=;
else
ans=atoi(s);
return ans;
} bool check(double x,double y){
if(abs(x-y)<0.0000001)
return true;
return false;
} void print(int x,int y){
if(sex[x]==) printf("-");
printf("%d ",x);
if(sex[y]==) printf("-");
printf("%d\n",y);
} int main(){
scanf("%d%d",&n,&m);
for(int i=;i<m;++i){
scanf("%d",&k);
for(int j=;j<k;++j){
int t;
char tmp[];
scanf("%s",tmp);
t=geti(tmp);
st[i].insert(t);
}
}
int a,b;
char tmp1[],tmp2[];
scanf("%s%s",tmp1,tmp2);
a=geti(tmp1),b=geti(tmp2);
for(int i=;i<m;++i){
int sz=st[i].size();
if(st[i].count(a))
for(set<int>::iterator it=st[i].begin();it!=st[i].end();++it)
if(*it!=a&&sex[a]!=sex[*it]){
pa[*it]+=1.0/sz;
if(maxa<pa[*it]) maxa=pa[*it];
}
if(st[i].count(b))
for(set<int>::iterator it=st[i].begin();it!=st[i].end();++it)
if(*it!=b&&sex[b]!=sex[*it]){
pb[*it]+=1.0/sz;
if(maxb<pb[*it]) maxb=pb[*it];
}
}
if(maxa==pa[b]&&maxb==pb[a])
print(a,b);
else{
for(int i=;i<n;++i)
if(check(maxa,pa[i]))
print(a,i);
for(int i=;i<n;++i)
if(check(maxb,pb[i]))
print(b,i);
}
return ;
}

pta l2-28(秀恩爱分得快)的更多相关文章

  1. 【PTA 天梯赛】L2-028 秀恩爱分得快(模拟)

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

  2. L2-028 秀恩爱分得快(模拟)

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

  3. PAT L2-028 秀恩爱分得快

    https://pintia.cn/problem-sets/994805046380707840/problems/994805054698012672 古人云:秀恩爱,分得快. 互联网上每天都有大 ...

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

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

  5. 团体程序设计天梯赛 L2-028. 秀恩爱分得快

    1.输入-0(第一部分.第二部分),输出-02.只统计与两个人的亲密程度,否则超时 Data: 4 14 -0 1 -2 3-0 1 -0 1 ------ 4 1 3 1 -2 3-0 1 -0 1 ...

  6. PAT 天梯赛 L2-028. 秀恩爱分得快 【数据处理】

    题目链接 https://www.patest.cn/contests/gplt/L2-028 思路 0.只处理被询问的情侣的亲密度,否则会超时 1.要注意输入数字要用字符串,还要标记性别 因为 输出 ...

  7. 520是秀恩爱吃狗粮,521才是真正的告白日,- Python告白神器用起来 !

    网络情人节是信息时代的爱情节日,定于每年的5月20日和5月21日,该节日源于歌手范晓萱的<数字恋爱>中“520”被喻成“我爱你” ,以及音乐人吴玉龙的网络歌曲中“我爱你”与“网络情人”的紧 ...

  8. 汕头市队赛 SRM 06 C 秀恩爱

    C 秀恩爱 SRM 06 背景&&描述         KPM坐在直升机上俯瞰小渔村景象.         渔村可看作二维平面,密密麻麻地到处都是单身狗,KPM当前所在坐标为(sx,s ...

  9. PTA刷题笔记

    PTA刷题记录 仓库地址: https://github.com/Haorical/Code/tree/master/PTA/GPLT 两周之内刷完GPLT L2和L3的题,持续更新,包括AK代码,坑 ...

随机推荐

  1. leetcode701

    class Solution: def insertIntoBST(self, root, val): """ Time: O(log(n)) [average case ...

  2. 【Linux】CentOS7 安装,遇到的各种问题,并修复win7启动项

    https://www.cnblogs.com/sxdcgaq8080/p/7457255.html ------------------------------------------------- ...

  3. java的原子类 AtomicInteger 实现原理是什么?

    采用硬件提供原子操作指令实现的,即CAS.每次调用都会先判断预期的值是否符合,才进行写操作,保证数据安全. CAS机制 CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换. ...

  4. HBuilder开发APP自动登录时跳过"登录页面"

    刚接触开发公司APP项目,用HBuilder开发工具. manifest.json中的入口页面就是"登录页面",现在获取到自动登录状态是true,但是真机联调时"登录页面 ...

  5. bash: export: “path” not a valid identifier [closed]

    export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin bash: export: “path” not a vali ...

  6. python catch socket timeout

    python catch socket timeout import socket try: # do something. except socket.timeout as e: # socket ...

  7. 简洁的实现ls-l命令

    现在我们来简洁的实现命令:了解一下相关知识: 我们使用掩码可以很明确的得出文件的每一种信息.关于掩码,上图中的S_IRUSR等均为掩码.我们来看看函数getpwuid,原型:struct passwd ...

  8. nginx+php 开启https

    nginx 配置如下,配置好重启nginx,不是nginx -s reload,如果还不能访问肯定就是防火墙问题,关闭防火墙再试试. 我遇到的问题是:我服务器是ecs,域名解析到阿里云复杂均衡的,结果 ...

  9. Java IO流学习总结七:Commons IO 2.5-FileUtils

    在上面的几篇文章中,介绍了IO的常规用法,今天介绍 Commons IO 框架的使用. Commons IO简介 Apache Commons IO是Apache基金会创建并维护的Java函数库.它提 ...

  10. Unable to locate Spring NamespaceHandler for XML schema namespace

    1. 问题 本文将讨论Spring中最常见的配置问题 —— Spring的一个命名空间的名称空间处理程序没有找到. 大多数情况下,是由于一个特定的Spring的jar没有配置在classpath下,让 ...