返回首页 返回题库

礼盒排序

C++ 简单 GESP四级真题 #结构体#排序

题目描述

题面描述

商店推出了许多礼盒,每个礼盒中包含 件商品,每件商品都有一个价格。

现在需要对这些礼盒进行排序,排序规则如下:

  1. 先按礼盒总价格从小到大排序;
  2. 如果总价格相同,按礼盒中最贵商品的价格从小到大排序;
  3. 如果仍然相同,按礼盒中最便宜商品的价格从小到大排序;
  4. 如果仍然相同,按礼盒编号从小到大排序。

请输出排序后的礼盒编号。

输入格式

第一行包含两个整数和,分别表示礼盒数量和每个礼盒中商品的数量。

接下来行,每行包含个整数,第行表示第个礼盒中各商品的价格。

输出格式

输出一行,包含排序后的礼盒编号(编号从1开始),用空格分隔。

样例1

输入:

4 3
3 5 2
4 1 5
2 2 4
3 4 3

输出:

3 4 2 1

样例解释

4个礼盒分别为:

排序过程:

  1. 按总价排序,3号礼盒总价最小;
  2. 其余总价均为10,再按最大值排序,4号最大值更小;
  3. 1号和2号最大值相同,再按最小值排序,2号更小。

最终顺序为:3 4 2 1

数据范围

保证,,商品价格。

时间/内存限制

时间限制:1.0 s

内存限制:512.0 MB

💡 查看提示(先自己想一想再看)
考察结构体定义、自定义排序规则的实现。需要为每个礼盒计算总价、最大值、最小值并记录编号,然后按照题目给定的优先级编写比较函数,使用标准库排序函数完成排序后输出编号即可。注意编号是从1开始计数的,不要误写为0开始。
⚙ 开始做这道题 0 人做过 · 0 收藏 · 15 浏览

讨论(0)