【10.20 牛客普及(二)】 面试题解

it2024-12-20  12

【10.20 牛客普及(二)】 面试 题解

题目

牛牛内推了好多人去牛客网参加面试,面试总共分四轮,每轮的面试官都会对面试者的发挥进行评分。评分有 A A A B B B C C C D D D 四种。如果面试者在四轮中有一次发挥被评为 D D D,或者两次发挥被评为 C C C,就不会通过面试。如果面试者没有一次被评为 D D D,并且有三个或以上的 A A A,则会获得 s p e c i a l special special o f f e r offer offer。其余情况会获得普通 o f f e r offer offer

现在告诉你一些面试者的发挥,请你算一算,他们的面试结果分别是什么。


输入

第一行输入一个 T T T,代表面试者的个数。

接下来有 T T T 行,每行都有一个长度为 4 的字符串,每个位置的字符分别代表面试者每一轮的发挥。


输出

输出 T T T 行,分别表示 T T T 个面试者的面试结果。如果面试失败,输出 f a i l e d failed failed,如果面试通过,但不是 s p e c i a l special special o f f e r offer offer,则输出 o f f e r offer offer,否则输出 s p sp sp o f f e r offer offer


样例

input 2 AAAB ADAA

output sp offer failed


数据范围

T T T <= 1000


解题思路

输入 T T T个字符串 每次累加出现的字符个数 一个人清0一次 按照题目要求判断


代码

#include<iostream> #include<cstring> #include<cstdio> using namespace std; string s; int a[5],n; int main() { scanf("%d",&n); getchar(); for (int i=1;i<=n;i++) { getline(cin,s); memset(a,0,sizeof(a)); for (int j=0;j<4;j++) a[s[j]-64]++; if (a[4]>=1||a[3]>=2) { printf("failed\n"); continue; } if (a[1]>=3&&a[4]==0) printf("sp offer\n"); else printf("offer\n"); } return 0; }
最新回复(0)