首页 > 其他分享 >Max的王国

Max的王国

时间:2024-06-14 22:01:22浏览次数:15  
标签:int Max 智商 fx 星球 id 王国

Max是宇宙之王,他统治着很多星球。每个星球上都有一些居民。Max王国中的居民是不会死的,其中有一些居民跟宇宙一样古老(真是一个魔幻的世界,不是吗?)。一天,Max想知道他的人民究竟有多么聪明,以此来收集宇宙中居民的智商水平信息。智商水平能根据Max制定的一个标准来衡量(也就是说,如果Bob的智商值是10000,那么Bob比标准的智商值要高出10000。又如果Bob的智商值是0,那么Bob就则好达到了标准的智商水平)。实际上,Max只想知道每个星球究竟有多么聪明。为了评估一个星球的智商度,Max会取该星球所有居民的智商的中间值作为衡量标准。例如,如果i星球有n个居民,他们的智商值分别是a1,a2,……,an(a1<=a2<=a3……<=an)。如果n是奇数,则中间值是a[(n+1)/2],否则为(a[n/2]+a[n/2+1])/2(这里的除法使用的是整数除法,如3/2=1,4/2=2)。由于有太多的居民,现在你的任务是告诉Max每个星球的智商度。

输入格式

第一行一个整数n(1<=n<=100000),表示有n条信息。

接下来n行,每行包含两个整数p,a(1<=p<1.5*10^9,|a|<=1.5*10^9),表示在星球p里有一个居民的智商值为a。

输出格式

输出若干行,包括输入信息里出现过的所有星球,每行两个整数p,a,表示星球p的智商度为a。

输入/输出例子1

输入:

3

2 10

1 5

2 15

输出:

1 5

2 12

样例解释

怎么写的/思路分析

哈哈,我叒没审题啦       

20分代码:

#include<bits/stdc++.h>
using namespace std;
struct fx
{
    int id,x;
}a[100005];
bool cmp(fx a,fx b)
{
    return a.id<b.id;
}
long long n,t=1,s;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i].id>>a[i].x;
    sort(a+1,a+1+n,cmp);	s=a[1].x;
    for(int i=2;i<=n;i++)
    {
        if(a[i].id!=a[i-1].id)
        {
            cout<<a[i-1].id<<" "<<s/t<<endl;
            s=a[i].x;t=1;
        }
        else t++,s+=a[i].x;
    }
    if(t>=1)cout<<a[n].id<<" "<<s/t;
    return 0;
}

解决思路:其实这题的就是结构体+连续一段

要求某个星球的人的IQ   

1.我们用排序按id(星球编号)   

2.然后找到id的一样的  记录出现个数(t)和总和(s)

3.输出编号与平均值----这娃一看就是没审题

注意: 由于我的循环是从当前往前看 输出的自然是上一个(i-1)

         后面补个特判

好的 在老师公布成绩之和 我改满分了

没审题:

如果i星球有n个居民,他们的智商值分别是a1,a2,……,an(a1<=a2<=a3……<=an)。如果n是奇数,则中间值是a[(n+1)/2],否则为(a[n/2]+a[n/2+1])/2(这里的除法使用的是整数除法,如3/2=1,4/2=2)

满分代码优化:

只需要让数组进行到n+1就OK了  哨兵!哨兵!

更改:倒数第7第8行重做&cmp加入同编号IQ从小到高a1,a2,……,an(a1<=a2<=a3……<=an)

#include<bits/stdc++.h>
using namespace std;
struct fx
{
    int id,x;
}a[100005];
bool cmp(fx a,fx b)
{
    if(a.id!=b.id)return a.id<b.id;
    else return a.x<b.x;
}
long long n,t=1,s,st=1;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i].id>>a[i].x;
    sort(a+1,a+1+n,cmp);	s=a[1].x;
    a[n+1].id=-1;   a[n+1].x=-1;//哨兵
    for(int i=2;i<=n+1;i++)
    {
        if(a[i].id!=a[i-1].id)
        {
            if(t%2==1)cout<<a[i-1].id<<" "<<a[(i-1+st)/2].x<<endl;
            else cout<<a[i-1].id<<" "<<(a[(i-1+st)/2].x+a[(i-1+st)/2+1].x)/2<<endl;
            st=i; t=1;s=a[i].x;
        }
        else t++,s+=a[i].x;
    }
    return 0;
}

标签:int,Max,智商,fx,星球,id,王国
From: https://blog.csdn.net/imxix/article/details/139690711

相关文章

  • Python中常用的几个内置方法(max()/min()、filter()、map()、sorted、reduce())
    1.max()/min()传入一个参数(可迭代对象),返回这个可迭代对象中最大的元素可以设置default关键字参数,当这个可迭代对象为空时,返回default的值传入多个参数,返回这些参数中最大的参数多个参数必须是同类型的两种方法都可以设置key关键字参数(传入函数)"""max(it......
  • 3dmax材质高清参数设置图
    3dsMax是一款在设计领域内非常受推崇的软件,以其强大的建模功能和丰富的材质库而知名。设计师可以通过调整材质的参数来制作出更加真实的渲染效果。本文将介绍一些技巧,教您如何通过简单的调整来优化3dsMax中的材质设置,从而增强作品的视觉效果。3dmax材质高清参数设置1、清......
  • MAX3160EAP 集成接口芯片 收发器 资料配置流程
    MAX3160EAP是一款集成电路(IC),它是一个全双工的RS-232/RS-485/422多协议收发器。这个器件可以通过编程来配置为不同的模式,包括两个RS-232接口或一个RS-485/422收发器。它具有许多高级特性,比如真正的安全接收器、保护传输和接收器不受线路故障的影响、低功耗待机模式以及能够在......
  • C语言王国——数组的旋转(轮转数组)三种解法
    一、题目给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例......
  • 3dmax材质高清参数设置图
    3dsMax是一款在设计领域内非常受推崇的软件,以其强大的建模功能和丰富的材质库而知名。设计师可以通过调整材质的参数来制作出更加真实的渲染效果。本文将介绍一些技巧,教您如何通过简单的调整来优化3dsMax中的材质设置,从而增强作品的视觉效果。 3dmax材质高清参数设置1、清玻......
  • 优化MySQL连接管理:深入解析max_connections参数与解决Too Many Connections策略
    前言​在现代的数据库管理中,合理配置max_connections参数对于确保MySQL数据库的稳定性和高效性至关重要。本文将深入探讨max_connections的基本概念,分析导致“Toomanyconnections”错误的常见原因,并提供一系列解决方案,以帮助数据库管理员和开发者优化数据库性能。基本......
  • The field file exceeds its maximum permitted size of 1048576 bytes
    问题—基于Springboot项目,文件上传功能报错Causedby:Thefieldfileexceedsitsmaximumpermittedsizeof1048576bytes.文件的大小超出了允许的范围。错误原因SpringBoot内嵌的Tomcat默认的所有上传的文件大小为1MB,超出这个大小就会报错,解决这个问题需要更改以下......
  • C语言王国——数据的内存管理
    目录一、引言二、整形在内存中的存储2.1进制之间的转换2.1.1整形的二进制2.1.2 十进制和二进制2.1.3十进制和八进制的转换2.1.4 十六进制和十进制的转换2.2原码,反码,和补码三、大、小端字节序3.1大小端的定义3.2为什么会有大小端之分3.3代码区分四、浮......
  • SoftMax 的困境:在稀疏性和多模态之间左右为难
    SoftMax是现代机器学习算法中无处不在的组成部分。它将输入向量映射到概率单纯形,并通过将概率质量集中在较大的条目上,来重新加权输入。然而,作为Argmax函数的平滑近似,SoftMax将大量的概率质量分配给其他剩余的条目,导致可解释性差和噪声。虽然稀疏性可以通过一系列SoftMa......
  • centos7运行sysctl -p 命令报错sysctl: cannot stat /proc/sys/vm/max/map_count: No
    这个错误表明 sysctl-p 命令尝试重新加载系统参数时,无法访问 /proc/sys/vm/max/map_count 文件在CentOS7中,这个文件通常位于 /proc/sys/vm/max_map_count解决方法:确认你有足够的权限执行该命令。如果不是root用户,使用 sudo 前缀来运行命令:sudosysctl-p如果......