小y的考试
小y的考试
https://ac.nowcoder.com/acm/contest/19306/1038
链接:https://ac.nowcoder.com/acm/contest/19306/1038
来源:牛客网
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld
题目描述
众所周知,小y是一个 “1+1” 都能回答错误的小可爱。因为这个,她没少吃Z老师的头槌。
今天,Z老师来了场测验。小y看着卷子,一头雾水,什么都不会啊。
怎么办呢?幸好都是选择题。小y心想:“坊间传说,三长一短选最短,三短一长选最长,参差不齐就选 C。我不如就这么试一试,兴许能少吃 9 下头槌呢。”
可是,题目好多啊,题目好长啊,小y数都数不过来了 (“1 道,2 道,9道,9 道,9 道... 诶?刚刚数到几了?”),于是就请聪明的你来帮她选出答案啦。
注意,由于 “三长一短” 排在 “三短一长” 之前,所以优先判断是否满足 “三长一短”,再判断是否满足 “三短一长”。当且仅当最短选项唯一时满足 “三长一短”;同理,当且仅当最长选项唯一时满足 “三短一长”。其余情况都算作 “参差不齐”。
今天,Z老师来了场测验。小y看着卷子,一头雾水,什么都不会啊。
怎么办呢?幸好都是选择题。小y心想:“坊间传说,三长一短选最短,三短一长选最长,参差不齐就选 C。我不如就这么试一试,兴许能少吃 9 下头槌呢。”
可是,题目好多啊,题目好长啊,小y数都数不过来了 (“1 道,2 道,9道,9 道,9 道... 诶?刚刚数到几了?”),于是就请聪明的你来帮她选出答案啦。
注意,由于 “三长一短” 排在 “三短一长” 之前,所以优先判断是否满足 “三长一短”,再判断是否满足 “三短一长”。当且仅当最短选项唯一时满足 “三长一短”;同理,当且仅当最长选项唯一时满足 “三短一长”。其余情况都算作 “参差不齐”。
输入描述:
输入一个整数 T,表示题目数。 之后每道题目分 4 行,分别为 ABCD 四个选项。 具体可见样例。
输出描述:
对于每道题目,输出根据坊间传说应选的选项。 具体可见样例。
示例1
输入
3 A.3.141592653589 B.2.718281828459 C.0.618033988749 D.0.577215664901532860 A.wo_shi_cuo_de B.wo_bu_dui C.wo_shi_dui_de D.C_shi_dui_de A.3.141592653589 B.2.718281828459 C.0.618033988749 D.0.577215664901
输出
D B C
说明
第一道选择题中,根据 “三短一长选最长” 的原则,显然选 D。 第二道选择题中,根据 “三长一短选最短” 的原则,显然选 B。 第三道选择题中,根据 “参差不齐就选 C” 的原则,显然选 C。
备注:
对于 100% 的数据,1 ≤ T ≤ 500,每道题选项长度 ≤ 600。 选项中只会包含可见字符,数字、字母和符号。请不要在考试中随意试验这个坊间传说,否则会像样例中的第二道题一样选出显然错误的答案。
#include<iostream> #include<algorithm> using namespace std; struct s { int ans; int sum; }a[510]; bool tmp(s& a, s& b) { return a.ans < b.ans; } int main() { int t; cin >> t; while (t--) { string b; for (int i = 0; i < 4; i++) cin >> b,a[i].ans=b.size(),a[i].sum=i; sort(a, a + 4,tmp); if (a[0].ans < a[1].ans)cout << char(a[0].sum + 'A') << endl; else if (a[2].ans < a[3].ans)cout << char(a[3].sum + 'A') << endl; else cout << "C" << endl; } return 0; }