• 我有特殊的懵题技巧


    我有特殊的懵题技巧
    题目描述
    传说,有一种特殊的懵题技巧。在遇到不会做的选择题时,如果RP 足够好,就可以全
    部懵对:
    秘籍是这样的:
    三长一短选最短(如果某个选项的长度,不高于任意其他选项的一半,则选择这个选项)
    三短一长选最长(如果某个选项的长度,不低于任意其他选项的两倍,则选择这个选项)
    参差不齐选B(如果选项AC 均比BD 长,或者BD 均比AC 长,则选择B 选项)
    有长有短选D(如果某两个选项的长度均大于其他两个选项的2 倍,则选择D)
    不会就懵C(其他情况懵C)
    P.S. 优先级是从上到下的
    输入格式
    给出4 个字符串,每个字符串一行。
    第一行是A 选项。
    第二行是B 选项。
    第三行是C 选项。
    第四行是D 选项。
    字符串的长度均小于100,且不包含空格.
    输出格式
    输出单个字符,字符为“A”、“B”、“C”、“D”中的一种。
    没有引号,注意大小写。
    样例输入
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxx
    xxxx
    xxx
    样例输出
    A

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<cmath>
     4 #include<algorithm>
     5 using namespace std;
     6 char opl = 0,opu = 0,a[105];
     7 int b[5],mn = 1,mx = 1,i,j;
     8 int cmp(int a,int b)
     9 {
    10     return a < b;
    11 }
    12 int main()
    13 {
    14     for(i = 1;i <= 4;i++)
    15     {
    16         scanf("%s",a);
    17         b[i] = strlen(a);
    18         if(b[i] < b[mn])
    19         {
    20             mn = i;
    21         }
    22         if(b[i] > b[mx])
    23         {
    24             mx = i;
    25         }
    26     }
    27     for(i = 1;i <= 4;i++)
    28     {
    29         if(i != mn && b[mn] * 2 > b[i])
    30         {
    31             opl = 1;
    32         }
    33         if(i != mx && b[mx] < b[i] * 2)
    34         {
    35             opu = 1;
    36         }
    37     }
    38     if(opl == 0)
    39     {
    40         printf("%c",char('A' - 1 + mn));
    41         return 0;
    42     }
    43     else if(opu == 0)
    44     {
    45         printf("%c",char('A' - 1 + mx));
    46         return 0;
    47     }
    48     else if(b[1] > b[2] && b[1] > b[4] && b[3] > b[2] && b[3] > b[4])
    49     {
    50         printf("B");
    51         return 0;
    52     }
    53     else if(b[1] < b[2] && b[1] < b[4] && b[3] < b[2] && b[3] < b[4])
    54     {
    55         printf("B");
    56         return 0;
    57     }
    58     sort(b + 1,b + 5,cmp);
    59     if(b[2] * 2 < b[3])
    60     {
    61         printf("D");
    62         return 0;
    63     }
    64     else
    65     {
    66         printf("C");
    67         return 0;
    68     }
    69 }
  • 相关阅读:
    矩阵树定理 / 生成树计数
    NC20811 蓝魔法师 (树形DP/树上01背包)
    Xor-MST学习/ 2020牛客暑假多校(五)B.Graph
    HDU-6820 Tree (2020杭电多校(五) 1007)
    Flipping Coins (概率DP)
    宝石装箱 容斥+dp
    Rabbit的工作(1) (dP)
    Codeforces-1350 E.Orac and Game of Life
    HDU-6563 Strength (贪心)
    HDU-6558 The Moon (期望DP)
  • 原文地址:https://www.cnblogs.com/rax-/p/9799772.html
Copyright © 2020-2023  润新知