P1104 生日
题目描述
cjf 君想调查学校 OI 组每个同学的生日,并按照年龄从大到小的顺序排序。但 cjf 君最近作业很多,没有时间,所以请你帮她排序。
输入格式
输入共有 n + 1 n + 1 n+1 行,
第 1 1 1 行为 OI 组总人数 n n n;
第 2 2 2 行至第 n + 1 n+1 n+1 行分别是每人的姓名 s s s、出生年 y y y、月 m m m、日 d d d。
输出格式
输出共有 n n n 行,
即 n n n 个生日从大到小同学的姓名。(如果有两个同学生日相同,输入靠后的同学先输出)
样例 #1
样例输入 #1
3
Yangchu 1992 4 23
Qiujingya 1993 10 13
Luowen 1991 8 1
样例输出 #1
Luowen
Yangchu
Qiujingya
提示
数据保证, 1 < n < 100 1<n<100 1<n<100, 1 ≤ ∣ s ∣ < 20 1\leq |s|<20 1≤∣s∣<20。保证年月日实际存在,且年份 ∈ [ 1960 , 2020 ] \in [1960,2020] ∈[1960,2020]。
1.题目分析
输出若干个人的生日信息,按照年龄从大到小排序,输出排序后的名字。
如果生日的年月日相同,则按先输入的后输出。
提示:这里使用结构体排序会更方便些。
采用的是快速排序(即sort排序):
头文件:
#include <algorithm>
这里说几点传参问题:
例如:sort(pos,pos+n,cmp);
- 第一个参数pos代表数组的起始地址的指针
- 第二个参数pos+n代表数组的结束地址的指针
- 第三个参数cmp重写排序规则的函数
2.题目思路
- 定义结构体存储个人信息:姓名,生日日期以及输入的初始顺序
- 定义sort排序的规则函数:生日从小到大,如果生日一致,先输入的后输出。
- 进入主函数
- 定义结构体数组,键入每个人的信息并记录输入的顺序
- 调用sort排序,传入结构体数组的起始,结束指针,规则函数
- 最后遍历打印结构体数组中的名字信息
3.代码实现
#include <iostream>
#include <algorithm>using namespace std;
//每个人的信息
typedef struct data {char name[20];int y, m, d;//初始顺序int sequence;
} classmate;
//定义sort的排序函数
bool cmp(classmate c1, classmate c2) {//判断年月日按从小到大排if (c1.y == c2.y) {if (c1.m == c2.m) {if (c1.d == c2.d) {//输入靠后的先输出return c1.sequence > c2.sequence;} else {return c1.d < c2.d;}} else {return c1.m < c2.m;}}return c1.y < c2.y;
}int main() {int n;cin >> n;classmate classmates[n];//键入数据for (int i = 0; i < n; ++i) {cin >> classmates[i].name >> classmates[i].y >> classmates[i].m >> classmates[i].d;classmates[i].sequence = i + 1;}//排序sort(classmates, classmates + n, cmp);//输出结果for (int i = 0; i < n; ++i) {cout << classmates[i].name << endl;}return 0;
}
相关文章:
P1104 生日
题目描述 cjf 君想调查学校 OI 组每个同学的生日,并按照年龄从大到小的顺序排序。但 cjf 君最近作业很多,没有时间,所以请你帮她排序。 输入格式 输入共有 n 1 n 1 n1 行, 第 1 1 1 行为 OI 组总人数 n n n; …...
计算机网络复习大纲
第一章 计算机网络概述 一,网络发展的形态 了解:当前网络的组成形态: 二,计算机网络的定义 掌握 网络的物理组成实体 网络的工作方式 网络组建的目的 三,通过网络定义 我们如何学习网络 物理实体如何构成&…...
Linux:进程(概念)
学习目标 1.认识冯诺依曼系统 2.认识操作系统概念与定位 (系统调用接口) 3.理解进程的概念(PCB) 4.理解进程的状态(fork创建进程,僵尸进程及孤儿进程) 5.了解进程的调度(优先级,竞争性ÿ…...
智能机器人:打造自动化未来的关键技术
文章目录 1. 智能机器人的基本概念2. 智能机器人的关键技术2.1 机器视觉2.2 机器学习与深度学习2.3 传感器技术 3. 智能机器人的应用领域3.1 制造业3.2 医疗保健3.3 农业3.4 服务业 4. 智能机器人的未来趋势4.1 自主决策能力的提升4.2 协作与互操作性4.3 个性化定制4.4 环境感知…...
大数据(七):Pandas的基础应用详解(四)
专栏介绍 结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 再推荐一下最近热更的:《大厂测试高频面试题详解》 该专栏对…...
【1day】万户协同办公平台 ezoffice未授权访问漏洞学习
注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录...
适配器模式:如何让不兼容的接口变得兼容
在软件开发中,我们经常会遇到这样的情况:我们需要使用一个现有的类或者接口,但它与我们系统的目标接口不兼容,而我们又不能修改它。这时候,我们该怎么办呢?大多数情况下我们都可以使用适配器模式来解决这个…...
sentinel熔断报java.lang.reflect.UndeclaredThrowableException
背景:内部要进行应用jdk&springboot升级,因此也需要将Spring Cloud Hystrix 替换成alibaba sentinel。 依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</a…...
工业4G路由器的户外组网与无人值守场景应用
工业4G路由器是专为不便电缆布线的工业或日晒雨淋网络不畅的户外环境所设计的网络设备。它能够在没有光纤宽带的情况下使用插卡的方式提供4G或无线WiFi的网络支持。具备工业级防水功能,能够在户外环境下进行网络部署,并实现无人值守运行。工业4G路由器还…...
中移粤港澳大湾区创新研究院、南湖研究院类脑实验室面试(部分)
中移粤港澳大湾区创新研究院 reids热key的高并发量,导致此redis节点的cpu使用率爆满,有什么优化方案?高并发情况下为了保证平台正常运行,怎么设置平台的监控和告警 南湖研究院类脑实验室 笔试通过后,面试无后续...
API 自动化测试难点总结与分享
API自动化测试的难点包括: 接口的参数组合较多,需要覆盖各种可能的情况。接口的状态和数据关联较多,需要验证返回结果是否符合预期。接口的并发访问和性能测试较为复杂,需要合理规划和调度测试策略。接口的安全性和权限控制较为重…...
【每日一题】补档 ABC309F - Box in Box | 三维偏序 | 树状数组 | 中等
题目内容 原题链接 给定 n n n 个箱子,问是否存在一个箱子 x x x 是否可以放到另一个箱子 y y y 里。 需要满足 h x < h y , w x < w y , d x < d y h_x<h_y,w_x<w_y,d_x<d_y hx<hy,wx<wy,dx<dy。 箱子可以随意翻转。 …...
异步编程 - 13 高性能线程间消息传递库 Disruptor
文章目录 Disruptor概述Disruptor中的核心术语Disruptor 流程图 Disruptor的特性详解基于Disruptor实现异步编程 Disruptor概述 Disruptor是一个高性能的线程间消息传递库,它源于LMAX对并发性、性能和非阻塞算法的研究,如今构成了其Exchange基础架构的核…...
(DXE_DRIVER)PciHostBridge
UEFI-PciHostBridge 1、PciHostBridge简介 PciHostBridge: 提供PCI配置空间,IO,MEM空间访问接口以及统一维护平台相关的PCI资源,提供gEfiPciHostBridgeResourceAllocationProtocolGuid,创建RootBridge等为PciBusDxe提供服务; 2、PciHostBridge 配置空间 PCI桥可管理其下PCI子…...
SpringMVC的增删改查的案例
目录 前言: 1.总体思路: 2.前期准备 3.前台页面 前言: 我们今天来学习研究SpringMVC的增删改查,希望这篇博客能够帮助正在学习,工作的你们!!! 1.总体思路: 首先我们得…...
golang入门笔记——nginx
文章目录 Nginx介绍Nginx的安装Nginx文件Nginx反向代理负载均衡nginx动静分离URLRewrite防盗链nginx高可用配置安全性Nginx限流Nginx缓存集成Lua脚本OpenRestry Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强&#x…...
最新报告!TikTok 市场小家电大商机,GMV破亿的爆款如何复制?
近期,新锐小家电品牌Gaabor空气炸锅在东南亚卖爆了,单款商品GMV短时间内突破两亿,在印尼、泰国、马来西亚、菲律宾、越南均开设本土TikTok 小店,增长势头还在持续。 但Gaabor并不是个例。 整个东南亚家电市场规模增长迅速&#…...
功能定义-紧急制动系统
功能简介 紧急制动系统的触发过程如上图所示: 安全距离报警:当两车距离较近时,会给予驾驶员相应提示 预报警:当两车存在碰撞风险但风险较低【Danger Level1】时,会给予驾驶员提示【提示相比之前更为明显】 制动预填充&…...
Map与Set的区别
map与set是一种进行搜索的数据结构。 一 Map map存储的是key-value的键值对。 1 map中的常见方法 方法作用put(key,value)向map中存放key-value键值对get(key)根据key值得到value值getOrDefault(key,value)获取值为key的value,若不存在,则将key值对应…...
基于uwb和IMU融合的三维空间定位算法matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..........................................................................kkk 0; for E…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
