题解:T561109 【MX-X7-T2】[LSOT-3] 姬誉蛙

· · 题解

做法

分析

这一题显然可以将几种情况分别进行判断,其余情况就输出 "No" 即可。

代码怎么写

我们想到分别判断几种情况但需要注意我们无法保证 3 个分数的大小,如果硬写就会增加写代码的难度,所以我们可以将 3 个分数放入数组中进行排序后写代码的难度就会大大降低(不知道大佬们还有没有什么其他方法)。

代码

将思路理清后还是相当好写的,同时也要仔细审题看清楚几种情况的范围。

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int arr[5];
int main(){
    scanf("%d%d%d",&arr[1],&arr[2],&arr[3]);
    sort(arr+1,arr+4);
    if((arr[1]>=1&&arr[1]<=24)&&(arr[2]>=25&&arr[2]<=44)&&(arr[3]>=45&&arr[3]<=84)){
        printf("Yes");
    }
    else if((arr[1]>=25&&arr[1]<=44)&&(arr[2]>=45&&arr[2]<=84)&&(arr[3]>=85&&arr[3]<=100)){
        printf("Yes");
    }
    else if((arr[1]>=25&&arr[1]<=44)&&(arr[2]>=45&&arr[2]<=84)&&(arr[3]>=85&&arr[3]<=100)){
        printf("Yes");
    }
    else if((arr[1]>=25&&arr[1]<=44)&&(arr[2]>=85&&arr[2]<=100)&&(arr[3]>=85&&arr[3]<=100)){
        printf("Yes");
    }
    else if((arr[1]>=45&&arr[1]<=84)&&(arr[2]>=85&&arr[2]<=100)&&(arr[3]>=85&&arr[3]<=100)){
        printf("Yes");
    }
    else if((arr[1]>=85&&arr[1]<=100)&&(arr[2]>=85&&arr[2]<=100)&&(arr[3]>=85&&arr[3]<=100)){
        printf("Yes");
    }
    else{
        printf("No");
    }
    return 0;
}