田忌赛马
时间限制:1.0 s
内存限制:128.0 MB
问题描述
你要和田忌赛马。你们各自有N匹马,并且要进行N轮比赛,每轮比赛,你们都要各派出一匹马决出胜负。
你的马匹的速度分别为u1,u2,…,uN,田忌的马匹的速度分别为v1,v2,…,vN。田忌会按顺序派出他的马匹,请问你要如何排兵布阵,才能赢得最多轮次的比赛?巧合的是,你和田忌的所有马匹的速度两两不同,因此不可能出现平局。
输入描述
第一行一个整数N。保证1≤N≤5×104。
接下来一行N个用空格隔开的整数,依次为u1,u2,…,uN,表示你的马匹们的速度。保证1≤ui≤2N。
接下来一行N个用空格隔开的整数,依次为v1,v2,…,vN,表示田忌的马匹们的速度。保证1≤vi≤2N。
输出描述
输出一行,表示你最多能获胜几轮。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
样例输入 1
3 1 3 5 2 4 6
样例输出 1
2
样例解释 1
第 1 轮,田忌派出速度为2的马匹,你可以派出速度为3的马匹迎战,本轮你获胜。
第 2 轮,田忌派出速度为4的马匹,你可以派出速度为6的马匹迎战,本轮你获胜。
第 3 轮,田忌派出速度为6的马匹,你可以派出速度为2的马匹迎战,本轮田忌获胜。
如此,你可以赢得 2 轮比赛。
样例输入 2
5 10 3 5 8 7 4 6 1 2 9
样例输出 2
5
相似题推荐
执行以下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。
