这道题还是比较简单的吧~
首先考虑取出字符串长度 a , b , c , d a,b,c,d a,b,c,d。
然后考虑暴力匹配一下,记录幸运的选项个数以及哪个是幸运的选项(多个选一个就好了)。
最后看一眼个数输出即可。
坑点:注意过滤掉 A.
B.
C.
D.
。
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int MAXN = 100;
string str[5];
int a[5], ans, pd;
int read()
{
int sum = 0, fh = 1; char ch = getchar();
while (ch < '0' || ch > '9') {if (ch == '-') fh = -1; ch = getchar();}
while (ch >= '0' && ch <= '9') {sum = (sum << 3) + (sum << 1) + (ch ^ 48); ch = getchar();}
return sum * fh;
}
int main()
{
for (int i = 1; i <= 4; ++i)
{
char ch = getchar();
while (ch != '.') ch = getchar();
cin >> str[i]; a[i] = str[i].size();
}
for (int i = 1; i <= 4; ++i)
{
bool flag1 = 1, flag2 = 1, flag3 = 0;
for (int j = 1; j <= 4; ++j)
{
if (i == j) continue;
if (a[i] >= a[j] * 2) flag2 = 0;
else if (a[i] * 2 <= a[j]) flag1 = 0;
else flag3 = 1;
}
if ((flag1 || flag2) && !flag3) ans++, pd = i;
}
if (ans == 1) cout << (char)(pd + 'A' - 1);
else cout << "C";
return 0;
}