这个问题可以抽象为 给出的第二组数中,能否找到两个数比第一组数中的两个数都大,python代码如下:
qi =list(map(int,input().split()))
tian=list(map(int,input().split()))
qi.sort(reverse=True) #反向排序
tian.sort(reverse=True) #反向排序
i=0 #用i表示每一轮比赛后 qi的最大值的下标(当前速度最快的马)
j=0 #用i表示每一轮比赛后 tian的最大值的下标(当前速度最快的马)
k=0 # k用来计数,k<2 当田忌的速度最大的两匹马比完赛后,整个比赛结果已经确定,查看win即可知结果
win=0 # win表示赢的场次数
while k<2:
if tian[j] > qi[i]: # 当当前田忌的最快的马比齐王的马快
j +=1 # 更新田忌当前最快的马
i +=1 # 更新齐王最快的马
k +=1 # 更新k,如果k=2,表示田忌最快的两匹马已经比完赛
win+=1 # 获胜,更新win
else: # 田忌最快的马没有比齐王的马快
i+=1 # 找田忌最小的马去消耗齐王最快的马后,更新齐王最快的马
if i>2: # 如果齐王最慢的马都已经比完赛了,则结束比赛
break
if win >=2:
print("Yes")
else:
print("No")