算法提高 淘淘的名单
描述
by ZBY… 😃 淘淘拿到了一份名单,他想对上面的名字进行处理,挑出一些特殊的名字,他请你来帮忙。
淘淘关注以下名字:
如果这个名字是“WYS”,他希望你的程序输出“KXZSMR”。
如果这个名字是“CQ”,他希望你的程序输出“CHAIQIANG”。
如果这个名字是“LC“,他希望你的程序输出“DRAGONNET”。
如果这个名字是“SYT”或“SSD”或“LSS”或“LYF”,他希望你的程序输出“STUDYFATHER”。
如果这个名字与上述任意名字都不相同,他希望你的程序输出“DENOMINATOR”。
输入
输入描述:
第一行有一个整数N,表示淘淘手中名单里的人数。
接下来N行,每行有一个字符串,即名单里的人名。
输入样例:
9
WYS
CQ
WYS
LC
SYT
SSD
LSS
LYF
ZBY
输出
输出描述:
输出N行,每行输出每个人名的判断结果。
输出样例:
KXZSMR
CHAIQIANG
KXZSMR
DRAGONNET
STUDYFATHER
STUDYFATHER
STUDYFATHER
STUDYFATHER
DENOMINATOR
输入样例 1
参考上文
输出样例 1
参考上文
提示
HINT:时间限制:100ms 内存限制:8.0MB
对于 50% 数据,N <= 1000,且名单中的名字仅可能为“WYS”,“CQ”,“LC”三者之一,没有其他的名字。
对于 100% 数据,N <= 10000,人名仅由大写字母组成,长度不超过5。
来源
蓝桥杯练习系统 ID: 327 原题链接: http://lx.lanqiao.cn/problem.page?gpid=T327
我一开始以为是多组输入,输入一个然后出一个结果,其实题目是要求一起输入然后一起得出结果。所以要用到字符串数组来做。
#include<iostream>
using namespace std;
string str[10001];
string f(string s)
{
if (s == "WYS")return "KXZSMR";
if (s == "CQ")return "CHAIQIANG";
if (s == "LC")return "DRAGONNET";
if (s == "SYT" || s == "SSD" || s == "LSS" || s == "LYF")return "STUDYFATHER";
return "DENOMINATOR";
}
int main()
{
int n;
while (cin >> n)
{
for (int i = 0; i < n; i++)
{
cin >> str[i];
}
for (int i = 0; i < n; i++)
{
cout << f(str[i]) << endl;
}
}
return 0;
}