我是靠谱客的博主 兴奋小海豚,最近开发中收集的这篇文章主要介绍出勤记录c++,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

小蒜的算法课老师每次上课都会统计小蒜的出勤记录。迟到会被记录一个 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++所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部