优先购买
题目描述
小 A 有 M 元预算。商店有 N 个商品,每个商品有商品名 S、价格 P 和优先级 V 三种属性,其中 V 为正整数,且越小代表商品的优先级越高。
小 A 的购物策略为:
1. 总是优先买优先级最高的东西;
2. 如果有多个最高优先级商品,购买价格最低的;
3. 如果有多个优先级最高且价格最低的商品,购买商品名字典序最小的。
小 A 想知道能购买哪些商品。
输入格式
第一行两个正整数 M, N ,代表预算和商品数。
之后 N 行,每行一个商品,依次为 si pi vi ,代表第 i 个商品的商品名、价格、优先级。
数据保证不存在两个名字相同的商品。
输出格式
按照字典序从小到大的顺序,输出所有购买商品的商品名。
输入样例
20 4 apple 6 8 bus 15 1 cab 1 10 water 4 8
输出样例
bus cab water
数据范围
对于所有测试点,保证 1 ≤ len(S) ≤ 10, 1 ≤ M, P ≤ 10⁵ , 1 ≤ N ≤ 10³ , 1 ≤ vi ≤ 10 。商品名仅由小写字母组成且不存在两个相同的商品名。
相似题推荐
执行以下Python 代码后,输出的结果是?()
try:
print(1, end="")
raise ValueError("x")
except ValueError as e:
print(2, end="")
else:
print(3, end="")
finally:
print(4, end="") | A. 14 |
B. 124 |
| C. 1234 |
D. 程序报错 |
2026年春节联欢晚会上一个武术表演节目《武BOT》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备( )。
| A. 用于检测重心的重力传感器 |
B. 预装的AI算法程序 |
| C. 接收动作指令的遥控器 |
D. 拍摄其他机器人的摄像头 |
执行以下Python 代码后,输出的结果是[6 , 7]。
print(list(filter(lambda x: x > 5 , [3 , 6 , 7 , 2])))
| A.正确 | B.错误 |
执行以下Python代码后,输出的结果是'789\n456 '。
with open('test.txt', 'w') as f:
f.write('123\n456')
with open('test.txt', 'r+') as f:
f.seek(0, 2)
f.write('789')
f.seek(0)
print(repr(f.read())) | A.正确 | B.错误 |
礼盒排序
时间限制:1.0 s
内存限制:512.0 MB
题目描述
商店推出了许多礼盒,每个礼盒中包含k件商品,每件商品都有一个价格。
现在需要对这些礼盒进行排序,排序规则如下:
1. 先按礼盒总价格从小到大排序;
2. 如果总价格相同,按礼盒中最贵商品的价格从小到大排序;
3. 如果仍然相同,按礼盒中最便宜商品的价格从小到大排序;
4. 如果仍然相同,按礼盒编号从小到大排序。
请输出排序后的礼盒编号。
输入格式
第一行包含两个整数n和k,分别表示礼盒数量和每个礼盒中商品的数量。
接下来n行,每行包含k个整数,第i行表示第i个礼盒中各商品的价格。
输出格式
输出一行,包含排序后的礼盒编号(编号从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≤n≤103,1≤k≤10,商品价格≤104。
