列表

详情


NC212819. 小y的考试

描述

众所周知,小y是一个 “1+1” 都能回答错误的小可爱。因为这个,她没
少吃Z老师的头槌。
今天,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。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(clang++ 11.0.1) 解法, 执行用时: 17ms, 内存消耗: 600K, 提交时间: 2023-03-23 15:57:34

#include<bits/stdc++.h>
using namespace std;
bool cmp(string c,string d)
{
	return c.size()<d.size();
}
int main()
{
	int t,i;
	string a[3000];
	cin>>t;
	while(t--)
	{
		for(i=0;i<4;i++)
		{
			cin>>a[i];
		}
		sort(a,a+4,cmp);
		if(a[0].size()<a[1].size())
			cout<<a[0][0]<<endl;
		else if(a[3].size()>a[2].size())
			cout<<a[3][0]<<endl;
		else
			cout<<"C"<<endl;
	}
}

pypy3(pypy3.6.1) 解法, 执行用时: 88ms, 内存消耗: 41036K, 提交时间: 2020-10-07 20:04:54

for _ in range(int(input())):
    a=input()
    b=input()
    c=input()
    d=input()
    lst=[(len(a),"A"),(len(b),"B"),(len(c),"C"),(len(d),"D")]
    lst.sort(key=lambda x:x[0])
    if lst[0][0]!=lst[1][0]:
        print(lst[0][1])
    elif lst[3][0]!=lst[2][0]:
        print(lst[3][1])
    else:
        print("C")

Python3 解法, 执行用时: 50ms, 内存消耗: 4588K, 提交时间: 2022-10-26 16:13:36

for i in range(int(input())):
    s=sorted([input()for _ in range(4)],key=len)
    if(len(s[0])!=len(s[1])):
        print(s[0][0])
    elif(len(s[2])!=len(s[3])):
        print(s[3][0])
    else:
        print('C')

上一题