面试

it2026-03-11  5

面试 ⁡ \operatorname{面试}

题目链接: nowcoder 212911 ⁡ \operatorname{nowcoder\ 212911} nowcoder 212911

关于这场比赛

——>点我可以查看其它题目(目录)<——

到牛客看:

——>点我跳转<——

题目

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

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

输入

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

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

输出

输出 T T T 行,分别表示 T T T 个面试者的面试结果。如果面试失败,输出 failed,如果面试通过,但不是 special offer,则输出 offer,否则输出 sp offer。

样例输入

2 AAAB ADAA

样例输出

sp offer failed

数据范围

T < = 1000 T <= 1000 T<=1000

思路

一道模拟题。

就统计每个人的评分,然后再根据要求给出结果即可。

比赛时

看完题目,发现是模拟,就打了出来。 没了。

代码

#include<cstdio> using namespace std; int T, A, B, C, D; char c; int main() { scanf("%d", &T); for (int i = 1; i <= T; i++) { A = B = C = D = 0; for (int i = 1; i <= 4; i++) { c = getchar(); while (c < 'A' || c > 'D') c = getchar(); if (c == 'A') A++; else if (c == 'B') B++; else if (c == 'C') C++; else D++; } if (D) { printf("failed\n"); continue; } if (C > 1) { printf("failed\n"); continue; } if (A > 2) { printf("sp offer\n"); continue; } printf("offer\n"); } return 0; }
最新回复(0)