问题 G: 面试
题目描述
牛牛内推了好多人去牛客网参加面试,面试总共分四轮,每轮的面试官都会对面试者的发挥进行评分。评分有A B C D四种。如果面试者在四轮中有一次发挥被评为D,或者两次发挥被评为C,就不会通过面试。如果面试者没有一次被评为D,并且有三个或以上的A则会获得special offer。其余情况会获得普通offer。
现在告诉你一些面试者的发挥,请你算一算,他们的面试结果分别是什么。
输入
第一行输入一个T,代表面试者的个数。
接下来有T行,每行都有一个长度为4的字符串,每个位置的字符分别代表面试者每一轮的发挥。
输出
输出T行,分别表示T个面试者的面试结果。如果面试失败,输出failed,如果面试通过,但不是special offer,则输出offer,否则输出sp offer。
样例输入
2
AAAB
ADAA
样例输出
sp offer
failed
解题思路:
输入字符串,统计A,C,D的字符个数,根据题意模拟即可。
AC代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
string s;
cin>>s;
int a=0,c=0,d=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='D')
d++;
if(s[i]=='C')
c++;
if(s[i]=='A')
a++;
}
if(d>0||c>=2)
cout<<"failed"<<endl;
else if(a>=3)
cout<<"sp offer"<<endl;
else
cout<<"offer"<<endl;
}
return 0;
}