NC212819. 小y的考试
描述
输入描述
输入一个整数 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。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')