【题目描述】
知名跨国大公司蜗牛集团的的蜗牛老师要对求职者进行面试,面试总共分四轮,每轮的面试官都会对面试者的发挥进行评分。评分有 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
【算法代码】
#include <bits/stdc++.h>
using namespace std;
string s;
int n;
int a,c,d;
int main() {
cin>>n;
for(int i=1; i<=n; i++) {
cin>>s;
a=0;
c=0;
d=0;
for(int i=0; i<s.size(); i++) {
if(s[i]=='A') a++;
if(s[i]=='C') c++;
if(s[i]=='D') d++;
}
if(d>0||c>=2) cout<<"failed"<<endl;
else {
if(a>=3) cout<<"sp offer"<<endl;
else cout<<"offer"<<endl;
}
}
return 0;
}
/*
in:
2
AAAB
ADAA
out:
sp offer
failed
*/
【参考文献】
https://blog.csdn.net/yueqyueqyue/article/details/119857795
http://oj.code-fans.cn/blogof/chunzhen/blog/544