链接:https://ac.nowcoder.com/acm/contest/3036/C
来源:牛客网
题目描述
「你来了啊,埃尔梅罗二世」
「是啊」他选择上浮的地点是一片荒野,那栋谜团重重的别墅正屹立在那荒芜的土地上「你到底在追求些什么」
「圣杯啊」他没有挂上之前那种虚伪的笑容,这种没有情感的真实让我想起了那一次圣杯战争「只要能做成万能的愿望机,到达根源也只是一蹴而就罢了」
「不可能的,圣杯需要时间」
「虚假(fake)的圣杯啊」他向我展示他的双臂,上面满是一些奇特的花纹,但我知道那是令咒,是作为御主(master)的象征「你来的时间比我想得要早,如果你想阻止我,可以尝试,我也不妨告诉你应该如何阻止我,但这几乎是不可能的」
虽然他的自大从之前就让人很不爽,但是为什么他甚至自信到把自己的弱点暴露出来。魔术的神秘一旦被洞察,就好像代码被开源一样。抛开这些不管,我也有不得不阻止他的理由。
他告诉了我一些信息,但是这些信息原本就被他加密过,只是加密手法并不高超,或是说他并没有故意想要阻碍我。只要我找到正确的解密方式就有办法阻止这场虚假的闹剧了。
而获得解密方式的方法也很简单,他给我的信息是一场投票的记录,y
或Y
表示某个平民对决议表示赞同,而n
或N
表示不赞同。其中混杂的其他信息则是弃权票。而我需要按照投票结果找出正确的解密方式。
输入描述:
第一行一个整数T (1<=T<=200),代表T组样例,
对于每组样例,输入一行,每行输入一个仅由大小写字符组成的字符串str,(1<=|str|<=100)。其中|str|代表字符串的长度。
输出描述:
若`Y`和`y`的票数大于等于总票数的一半,则输出"pmznb"。
否则,若`N`和`n`的票数大于等于总票数的一半,则输出"lyrnb"
否则输出"wsdd" (不包括双引号)
(当总票数为奇数时,总票数的一半向下取整)
示例1
输入
1
yYnNp
输出
pmznb
说明
总票数为5张,总票数的一半为2张
由于Y和y的票数大于等于总票数的一半,输出"pmznb"。
分析
pwz,lyr,yyn又是拼音缩写吧,还有我不是弟弟,玩这种无聊把戏的出题者才是弟弟。
这道题本身很简单,一个字符型数组的简单应用而已,但出题者的态度让我有点好玩,又有点不爽,因为拼音我一个都不知道,你倒是用cp(川普)之类的大众向的啊。
题解
#include<cstdio>
#include<cstring>
using namespace std;
char a[110];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%s",a);
int x=strlen(a),t1=0,t2=0;
for(int i=0;i<x;i++)
{
if(a[i]=='Y'||a[i]=='y')
{
t1++;
}
else if(a[i]=='N'||a[i]=='n')
{
t2++;
}
}
if(t1>=x/2)
{
printf("pmznb\n");
}
else if(t2>=x/2)
{
printf("lyrnb\n");
}
else
{
printf("wsdd\n");
}
}
}