• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
scorpiorax
博客园    首页    新随笔    联系   管理    订阅  订阅
我有特殊的懵题技巧

我有特殊的懵题技巧
题目描述
传说,有一种特殊的懵题技巧。在遇到不会做的选择题时,如果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 }

 

posted on 2018-10-16 18:21  scorpiorax  阅读(508)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3