2021级《高级语言》重现 F 方阵
国庆阅兵方队是每次阅兵的焦点。国庆70周年大阅兵训练场上的武警部队方队:96米、128步正步,一步不能差,这是阅兵方队通过天安门的要求;踢腿高度要求在30厘米;步幅间距要求在75厘米;摆头位置,人人都是45度,阅兵方队的整齐划一使人深受震撼,其背后蕴藏着所有人的巨大付出。假定某单位需开展走方阵比赛,规则是先按动作整齐分(整数)从大到小排,动作整齐分相同按方阵总人数从大到小排(方阵长和宽不超过20),方阵总人数相同则按方阵中最高最低身高差从小到大排。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。 每组数据第一行为总方阵数(不超过10队),接着是每个方阵的信息,先是队名(可以包含空格),再是方阵的长、宽和动作整齐分,最后是方阵中每个人的身高(cm,整数)。
输出格式:
依规则依序输出每组组名,两组测试数据之间空一行。
输入样例:
1
2
life is good
2 2 85
173 170
165 182
so happy
2 3 85
168 169 173
170 172 173
输出样例:
so happy
life is good
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
思路分析:本题考查结构体相关知识,多个结构体进行比较,可采用自定义函数cmp来进行sort比较。
首先,先定义一个结构体,包含题目中所需要的姓名,长宽,分数,身高等信息。由于身高有多个,且与人数有关,因此采用结构体内定义数组的方式来进行输入,后续操作。其次,自定义一个比较函数cmp,通过多个返回点来进行比较。sort区分的是数组,而c,b是结构体,要用结构体里面的数组进行sort。由于比较数组需要多次使用最大人数,因此采用m,n分别表示最大人数,来简化后续输入。
主函数中,先用结构体Team定义一个数组s[101]用来存放多个比较对象。(101是估计长度大小,保证不越界即可)。需注意由于队名包含空格,因此在输入时采用字符串空格输入getline(cin,s),同时在使用getline之前需要吸收一个空格,否则无法进行输入(用getline保证s[i].name只占用一个空间,如果不用就占用多个空间。吸收空格保证输入正常,防止程序崩溃)。
#include<iostream>
#include<algorithm>//使用库函数sort需定义algorithm算法头文件
using namespace std;
struct Team{string name;int length;int wide;int score;int a[401];
};
bool cmp(Team c,Team b){if(c.score!=b.score)return c.score>b.score;int n=c.length*c.wide,m=b.length*b.wide;if(n!=m)return n>m;sort(c.a,c.a+n);/*sort区分的是数组,而c,b是结构体,要用结构体里面的数组进行sort.由于比较数组需要多次使用最大人数,因此采用m,n分别表示最大人数来简化后续输入。*/ sort(b.a,b.a+m);if((c.a[n-1]-c.a[0])!=(b.a[n-1]-b.a[0]))return (c.a[n-1]-c.a[0])<(b.a[n-1]-b.a[0]);
}
int main() {int T;cin>>T;while(T--) {int n;Team s[101];cin>>n;for(int i=0;i<n;i++){cin.get();/*注意由于队名包含空格,因此在输入时采用字符串空格输入getline(cin,s),同时在使用getline之前需要吸收一个空格。*/ getline(cin,s[i].name);cin>>s[i].length>>s[i].wide>>s[i].score;int n=s[i].length*s[i].wide;for(int j=0;j<n;j++)cin>>s[i].a[j];/*由于结构体内有多个相同元素(身高)因此在进行输入的时候需要按照数组的输入方式利用一重循环进行输入,注意由于是把需比较的对象放在一个s[101]数组中因此在进行输入时,需要采用格式:s[i].a[j]。 */ }sort(s,s+n,cmp);for(int i=0;i<n;i++)cout<<s[i].name<<endl;//将sort的排序结构输出 }return 0;
}
运行结果:
2021级《高级语言》重现 F 方阵相关推荐
- 2021级高级语言期末考复盘
A 得分 学院乒乓球循环赛开始了!每场三局两胜(因需打满三局,所以可能出现0:3或3:0的情况),每人胜一场得3分,败一场得1分.现在告诉你小明参加的比赛场次及他每场与他人的比赛情况,请你计算他的得分 ...
- 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(1)
由于本章节题目太多,我将分几次发布 实验02 分支与循环程序设计(2021级) 一. 程序题(共15题,100分) 1. (程序题) 题目编号 :Exp02-Enhance02,GJBook3-04- ...
- 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(4)
13. 倍数 题目编号:Exp02-Basic07,GJBook3-03-07 题目名称:倍数 题目描述:任意一个整数n,如果n能同时被3.5.7整除,则n是3.5.7的倍数,如果n只能同时被其中的两 ...
- 2021级计科新生C语言项目设计视频集锦
2021级计科新生C语言项目设计视频集锦
- 上交计算机系专硕学费,上海交通大学2021级专硕学费再涨,最高翻3倍!@上海考研党...
近日,上海交通大学公布了部分专业的20201级学费,学术学位硕士学费一如既往,专业学位硕士(不管是全日制还是非全日制)学费又涨了,近几年可以说是涨势疯狂. 一起来看一下吧: 风景园林硕士-非全日制 今 ...
- 【金山文档】 2021级2021-2022学年第二学期大学物理实验考试表格-软件2112https://kdocs.cn/l/cmrTqjJ1ogsN
[金山文档] 2021级2021-2022学年第二学期大学物理实验考试表格-软件2112 https://kdocs.cn/l/cmrTqjJ1ogsN
- 2021级天津市大学软件学院新生开学时间、报到所需材料、入学流程
天软的2021级新生 明天就要报到啦! 2021年8月29日为天软新生报到日 今年的天软人们都来自哪里? 他们多大啦? 让我们一探究竟! 报到安排 一.报到时间 2021年8月29日(星期日)9:00 ...
- 2021年美赛F题总结
2021年美赛F题总结 肝到了早上六点20分才算是把F题的论文交上去了呜呜,最后把论文发给官方的时候3个人紧张死了,检查了7,8遍就怕出一点错,官方不接收我们的文章,那个点已经神志不清了,又在官网不停 ...
- 吉林大学2021级计算机系统结构期末复习
对着ppt摘的 如有错误,敬请斧正 简答题: 1.简述Flynn分类法将计算机系统结构分为哪四类 SISD,SIMD,MISD,MIMD 2.简述程序局部性原理 程序执行时所访问的存储器地址分布不是 ...
- 2021级计算机保研经历
写下这篇文章既算作是对自己保研路的一个记录,也说不定能帮助到一些准备进行保研工作的同学吧. 2021级计算机保研经历(夏令营.预推免) 个人背景 夏令营 湖大信科院 南大软院 预推免(九推) 厦大信院 ...
最新文章
- iframe自动调整高度能在IE5里实现吗
- 一个JS打开链接并隐藏来源的方法
- 华人学者往Linux内核里提交bug,社区把整个明尼苏达大学拉黑了
- Linux 分析工具--性能
- linux添加cmd命令行参数,Windows 终端命令行参数 | Microsoft Docs
- ICLR 2021 | 腾讯 AI Lab 入选论文解读
- 从wait_type入手模拟SQL Server Lock
- 百度开撕离职前高管:侵犯商业机密索赔 5000 万!
- VLFeat在matlab中的使用
- BSGS-BabyStepGiantStep算法+拓展
- while循环 dowhile循环 for循环(C++)
- Python创建二维数组
- 数据处理之缺失值处理
- 2021湖北省技能高考成绩查询,刚刚!湖北高考查分及志愿填报时间公布!
- php转html为pdf后部分图片无法显示
- 【论文阅读】GPT系列论文详解
- Android 高德地图自定义定位图标的显示
- reddit_Reddit如何设计和编码其详尽的愚人节体验,/ r / place
- 【整理】SISD、MIMD、SIMD、MISD计算机的体系结构的Flynn分类法
- 12月小报|读小报,涨知识
热门文章
- Dapper使用技巧和基础CRUD
- 关于Pytorch中detach
- TLC固态硬盘暴力读写寿命测试
- 西门子1200/1500系列PLC与安川CP-317系列PLC网口通讯
- H3C交换机console口Xshell连接
- 2019年1月寒冬互联网一线的面经
- 从“富客户端”(RIA)说到 Flex AIR
- python爬关键词百度指数_利用python+selenium_phantomjs批量获取百度指数 第一步 分析...
- php强行横屏,强制横屏app
- 八皇后算法—java