概述
小蒜的算法课老师每次上课都会统计小蒜的出勤记录。迟到会被记录一个 L,缺席会被记录一个 A,按时上课会被记录一个 O。
一学期结束,小蒜的出勤记录可以看成是一个只包含 LAO 的字符串,例如 "OOOOLOOOLALLO……"。
如果小蒜整学期缺席不超过 11 次,并且没有连续 33 次迟到,小蒜的出勤记录就算合格。
现在给出小蒜的出勤记录,你能判断他是否合格么?
输入格式
输入第一行包含一个整数 T(1 le T le 10)T(1≤T≤10),代表测试数据的组数。
以下 TT 行每行一个程度不超过 100的字符串 S,代表小蒜的出勤记录。
输出格式
对于每一份出勤记录,输出 "YES" 或者 "NO" 表示该份记录是否合格。
输出时每行末尾的多余空格,不影响答案正确性
样例输入复制
3 LLOLLALL OLLLOOOO OOAAOOOO
样例输出复制
YES NO NO
其实这题只要统计 'A' 的个数以及连续的 'L' 的最大值就行了,并不难。
#include<bits/stdc++.h>
using namespace std;
char s[110];
int main() {
int t;
scanf("%d", &t);
while (t--) {
scanf("%s", s);
int t1 = 0, t2 = 0, maxt = 0;
for (int i = 0; s[i]; ++i) {
if (s[i] == 'A') {//统计次数
t1++;
}
if (s[i] == 'L') {//统计次数
t2++;
if (t2 > maxt) {//打擂台
maxt = t2;
}
} else {
t2 = 0;
}
}
if (t1 <= 1 && maxt < 3) {//判断
printf("YESn");
} else {
printf("NOn");
}
}
return 0;
}
最后
以上就是兴奋小海豚为你收集整理的出勤记录c++的全部内容,希望文章能够帮你解决出勤记录c++所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复