依然水题啊。。。
可能处理起来不太方便
注意题目中说明仅有一个字符串是其他所有字符串长度的一半或2倍时
才输出这个字符串的序号
代码如下:
#include <cstdio>
#include <iostream>
#include <algorithm>
#define MAXN 10010
#define ll long long
using namespace std;
string str[4];
int len[4];
int judge(int i, int j) {
if(i == j) return 0;
if(len[i] >= 2*len[j])
return 1;
else if(2*len[i] <= len[j])
return -1;
else return 0;
}
int main(void) {
for(int i=0; i<4; ++i) {
cin >> str[i];
len[i] = str[i].size()-2;
}
int cnt = 0;
int flag = 0;
for(int i=0; i<4; ++i) {
int sum = 0;
for(int j=0; j<4; ++j) {
sum += judge(i, j);
}
if(sum==3 || sum==-3) {
cnt++;
flag = i;
}
}
if(cnt > 1)
printf("C\n");
else if(cnt == 1) {
printf("%c\n", 'A'+flag);
}
else printf("C\n");
return 0;
}