博卡斯战役
链接:https://ac.nowcoder.com/acm/contest/2763/L
来源:牛客网
题目描述
一款名叫帕康斯战役的手游公测了,lzw很高兴因为他有新的手游可以玩了。
帕康斯是一个3V3的moba类手游。双方不断的发生战斗,最后存活下来的一方获胜。在题目里,简化为每次战斗都为1V1且被打败的英雄不会复活。换句话说,一场比赛同时发生且只会发生三场1V1战斗。
然而对手不知道的是,lzw拥有写轮眼的能力,能够看到对手三人的战斗力,这样他可以根据对手和己方的三人战力安排对位,以求最大可能的保证胜利。
现在给你己方和对方的队员的战斗力,lzw想请你判断能否通过调整对位来胜利。一场战斗能胜利当且仅当己方队员的战斗力大于敌方队员。
输入描述:
第一行输入三个数,为我方三名队员的战斗力。
第二行输入三个数,为敌方三名队员的战斗力。
保证输入在int范围内,且没有任意两名队员战斗力相同。
输出描述:
如果能取得胜利,输出一行YES
如果不能,输出一行NO
备注:
三局两胜制~
题解:田忌赛马
#include <stdio.h> #include <algorithm> using namespace std; int a[3],b[3]; bool cmp(int a, int b){ return a>b; } int main(){ while(scanf("%d %d %d",&a[0],&a[1],&a[2])!=EOF){ scanf("%d %d %d",&b[0],&b[1],&b[2]); sort(a,a+3,cmp); if((a[0]> b[0] && a[1]>b[1])||(a[0]>b[1] && a[1]>b[0]) || (a[0]>b[1] && a[1]>b[2])|| (a[0]>b[2] && a[1]>b[1]) || (a[0]>b[0] && a[1]>b[2]) ||(a[0]>b[2] && a[1]>b[0])) printf("YES\n"); else printf("NO\n"); } return 0; }