这个问题可以抽象为 给出的第二组数中,能否找到两个数比第一组数中的两个数都大,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")