C++信息学奥赛1179:奖学金

news2024/10/4 23:32:56

在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n; // 输入整数 n,表示数组的大小

    int id[n], arr[n], brr[n], crr[n]; // 创建大小为 n 的整型数组 id, arr, brr, crr

    for(int i=0;i<n;i++) {
        id[i] = i+1; // 初始化 id 数组为 1,2,3,...,n
        cin>>arr[i]>>brr[i]>>crr[i]; // 依次读取三个整数,并存入对应的数组
    }

    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if((arr[i]+brr[i]+crr[i])>(arr[j]+brr[j]+crr[j])){ // 先按照三个整数之和的降序排序
                swap(arr[i],arr[j]);
                swap(brr[i],brr[j]);
                swap(crr[i],crr[j]);
                swap(id[i],id[j]);
            }
            if((arr[i]+brr[i]+crr[i])==(arr[j]+brr[j]+crr[j])){ // 如果三个整数之和相同,则按照第一个整数 arr 的降序排序
                if(arr[i]>arr[j]){
                    swap(arr[i],arr[j]);
                    swap(brr[i],brr[j]);
                    swap(crr[i],crr[j]);
                    swap(id[i],id[j]);
                }else if(arr[i]==arr[j]){ // 如果第一个整数也相同,则按照 id 的升序排序
                    if(id[i]<id[j]){
                        swap(arr[i],arr[j]);
                        swap(brr[i],brr[j]);
                        swap(crr[i],crr[j]);
                        swap(id[i],id[j]);
                    }
                }
            }
        }
    }

    for(int i=0;i<5;i++) 
        cout<<id[i]<<" "<<arr[i]+brr[i]+crr[i]<<endl; // 输出前五个 id 和三个整数之和

    return 0; // 返回 0 表示程序正常结束
}

返回代码逻辑:

  1. 首先,从标准输入中读取一个整数 n,表示数组的大小。
  2. 创建大小为 n 的整型数组 id、arr、brr、crr。
  3. 使用 for 循环,根据题目要求给 id 数组赋值,从标准输入中依次读取三个整数,并将它们分别存入 arr、brr、crr 数组中。
  4. 使用嵌套的两个 for 循环,实现按照指定条件对数组 arr、brr、crr 和 id 进行排序。首先按照 arr、brr、crr 三个数之和的降序排序,如果之和相同,则按照 arr 的降序排序,如果 arr 相同,则按照 id 的升序排序。
  5. 使用 for 循环遍历排序后的数组,输出前五个 id 和三个整数之和。
  6. 程序结束,并返回 0 表示正常结束。

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

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

相关文章

使用maven创建springboot项目

创建maven快速启动项目 命令行或者idea、eclipse快捷创建也可以 pom.xml下project项目下导入springboot 父工程 <!--导入springboot 父工程--> <parent><artifactId>spring-boot-starter-parent</artifactId><groupId>org.springframework.bo…

Linux socket网络编程实战(tcp)实现双方聊天

在上节已经系统介绍了大致的流程和相关的API&#xff0c;这节就开始写代码&#xff01; 回顾上节的流程&#xff1a; 创建一个NET文件夹 来存放网络编程相关的代码&#xff1a; tcp服务端代码初步实现--上 这部分先实现服务器的连接部分的代码并进行验证 server1.c&#xff…

服务器中locked勒索病毒的原因和影响,勒索病毒解密,数据恢复

locked勒索病毒是一种流行的计算机病毒&#xff0c;它会对感染的计算机进行加密&#xff0c;并要求用户支付一定数量的赎金才能解锁。这种病毒已经存在了几年&#xff0c;对许多计算机用户造成了严重的困扰。 locked勒索病毒通常是通过电子邮件或恶意网站传播的。电子邮件中可能…

项目详细描述

目录、 一、SOC智能游戏机&#xff08;集创赛-西南赛区三等奖&#xff09; 二、AXI2AHB Bridge 三、基于FPGA智能导盲拐杖&#xff08;FPGA竞赛全国二等奖&#xff09; 三、基于FPGA的倾角监测系统 四、图像压缩核心算法 一、SOC智能游戏机&#xff08;集创赛-西南赛区三等…

vue3 页面显示中文,分页显示中文

vue3 分页默认为英文 &#xff0c;但想要中文显示 那么在App.vue中的代码为三步即可&#xff0c;引入中文&#xff0c;声明中文 &#xff0c;绑定中文&#xff1b; 1. import zhCn from element-plus/es/locale/lang/zh-cn&#xff1b; 2. let locale zhCn; 3. :locale&q…

Spring retry(一)-使用指南

一、接入 spring boot 2.7.14 spring retry 从2.0.2版本之后&#xff0c;从spring batch里剥离出来成为一个单独的工程&#xff0c;因此我们引入spring retry最新版本可以直接如下引入 <dependency><groupId>org.springframework.retry</groupId><arti…

力扣92. 局部反转链表

92. 反转链表 II 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&am…

mysql数据库备份还原-mydumper/myloader

目录 一、mydumper介绍1、 mydumper优点2、 mydumper缺点3、工作原理4、备份所生成的文件 二、 mydumper 安装1.编译安装2.直接安装 rpm 包 三、 mydumper 使用1、参数说明2、mydumper用法 四、 myloader 使用1、参数说明2、myloader用法 对比mysqldump、mysqlpump、mydumper和…

2023年9月重庆/南京/深圳CDGA/CDGP数据治理认证考试报名

据DAMA中国官方网站消息&#xff0c;2023年度第三期DAMA中国CDGA和CDGP认证考试定于2023年9月23日举行。 报名通道现已开启&#xff0c;相关事宜通知如下&#xff1a; 考试科目: 数据治理工程师(CertifiedDataGovernanceAssociate,CDGA) 数据治理专家(CertifiedDataGovernanc…

最大正方形

题目链接 最大正方形 题目描述 注意点 matrix[i][j] 为 ‘0’ 或 ‘1’ 解答思路 使用动态规划解决本题&#xff0c;任意一个格子作为正方形右下角时&#xff0c;其最大正方向面积取决于左侧&#xff0c;上方以及左上角三个格子对应的正方形边长最小值E1&#xff0c;改格子…

直播预约|哪吒汽车岳文强:OEM和Tier1如何有效对接网络安全需求

信息安全是一个防护市场。如果数字化程度低&#xff0c;数据量不够&#xff0c;对外接口少&#xff0c;攻击成本高&#xff0c;所获利益少&#xff0c;自然就没有什么攻击&#xff0c;车厂因此也不需要在防护上花费太多成本。所以此前尽管说得热闹&#xff0c;但并没有太多真实…

xml转json

XML有个坑&#xff0c;就是XML转JSON中如何把单个元素转成数组&#xff0c;导致映射到实体类时无法执行&#xff0c;问题如下 初始xml格式如下&#xff1a; <java><version>1.8</version> </java>上述转成json格式就是&#xff1a; {"java&quo…

学习记录——Efficient MOdel轻量化主干模型(iRMB、EMO)

Rethinking Mobile Block for Efficient Attention-based Models 结合 CNN 和 Transformer 的倒残差移动模块设计 ICCV-2023 实例化了一个面向移动端应用的iRMB基础模块&#xff08;Inverted Residual Mobile Block&#xff0c;倒残差移动模块&#xff09;&#xff0c;其同时具…

UI自动化面试题合集

1、什么是UI自动化测试&#xff1f; UI自动化测试是一种通过模拟用户交互并自动执行UI操作的软件测试方法。它用于验证用户界面的功能和稳定性&#xff0c;以确保在不同的操作系统、浏览器和设备上的一致性。 同时&#xff0c;在这我也准备了一份软件测试面试视频教程&#x…

怎么消除人声保留背景音乐?试试这几种简单方法

消除人声保留背景音乐可以用于许多不同的目的。例如&#xff0c;可以在视频制作中使用&#xff0c;以确保观众能够听到清晰的对话&#xff0c;而不会被其他噪音干扰。此外&#xff0c;它也可以用于音乐制作中&#xff0c;以便更好地混合和控制音频元素。教大家几种简单的提取方…

白鲸开源 DataOps 平台加速数据分析和大模型构建

作者 | 李晨 编辑 | Debra Chen 数据准备对于推动有效的自助式分析和数据科学实践至关重要。如今&#xff0c;企业大都知道基于数据的决策是成功数字化转型的关键&#xff0c;但要做出有效的决策&#xff0c;只有可信的数据才能提供帮助&#xff0c;随着数据量和数据源的多样…

【大虾送书第七期】深入浅出SSD:固态存储核心技术、原理与实战

目录 ✨写在前面 ✨内容简介 ✨作者简介 ✨名人推荐 ✨文末福利 &#x1f990;博客主页&#xff1a;大虾好吃吗的博客 &#x1f990;专栏地址&#xff1a;免费送书活动专栏地址 写在前面 近年来国家大力支持半导体行业&#xff0c;鼓励自主创新&#xff0c;中国SSD技术和产业…

Java Stream与多线程

Java Stream 1. 问题引入 学习了尚硅谷的JUC&#xff0c;周阳老师讲的商城比较价格的案例&#xff0c;自己模拟了一个多线程的demo, 多线程处理任务并且汇总结果&#xff0c;出现了疑问&#xff0c;实例代码放在下面&#xff0c;读者有兴趣的话可ctrlcv玩一玩 如下是自定义的任…

BEV感知算法的概念

本文来自自动驾驶之心知识星球的国内首个BEV感知全栈系列学习教程 什么是BEV&#xff1f; ----> 上帝视角 Bird’s-Eye-View&#xff0c;鸟瞰图&#xff08;俯视图&#xff09;尺度变化小 &#xff08;离相机远的尺度比较小&#xff0c;离相机近的尺度比较大&#xff0c;比…

RT_Thread内核机制学习(四)队列

队列 队列中每个消息块都有一个头部&#xff0c;指向下一个消息块。 消息块的内存是连在一起的&#xff0c;但是是用链表组织的。 struct rt_messagequeue {struct rt_ipc_object parent; /**< inherit from ipc_object */void *m…