您的位置:首页 > Web前端

【Hihocoder [Offer收割]编程练习赛10 A】【水题】出勤记录I

2017-03-23 18:41 387 查看


题目1 : 出勤记录I

时间限制:10000ms
单点时限:1000ms
内存限制:256MB


描述

小Hi的算法课老师每次上课都会统计小Hi的出勤记录。迟到会被记录一个L,缺席会被记录一个A,按时上课会被记录一个O。
一学期结束,小Hi的出勤记录可以看成是一个只包含LAO的字符串,例如"OOOOLOOOLALLO……"。
如果小Hi整学期缺席不超过1次,并且没有连续3次迟到,小Hi的出勤记录就算合格。  
现在给出小Hi的出勤记录,你能判断他是否合格么?


输入

输入第一行包含一个整数T(1 <= T <= 10),代表测试数据的组数。  
以下T行每行一个程度不超过100的字符串S,代表小Hi的出勤记录。


输出

对于每一份出勤记录,输出YES或者NO表示该份记录是否合格。

样例输入
3
LLOLLALL
OLLLOOOO
OOAAOOOO


样例输出
YES
NO
NO


#include<stdio.h>
#include<iostream>
#include<string.h>
#include<string>
#include<ctype.h>
#include<math.h>
#include<set>
#include<map>
#include<vector>
#include<queue>
#include<bitset>
#include<algorithm>
#include<time.h>
using namespace std;
void fre() { freopen("c://test//input.in", "r", stdin); freopen("c://test//output.out", "w", stdout); }
#define MS(x, y) memset(x, y, sizeof(x))
#define ls o<<1
#define rs o<<1|1
typedef long long LL;
typedef unsigned long long UL;
typedef unsigned int UI;
template <class T1, class T2>inline void gmax(T1 &a, T2 b) { if (b > a)a = b; }
template <class T1, class T2>inline void gmin(T1 &a, T2 b) { if (b < a)a = b; }
const int N = 0, M = 0, Z = 1e9 + 7, inf = 0x3f3f3f3f;
template <class T1, class T2>inline void gadd(T1 &a, T2 b) { a = (a + b) % Z; }
int casenum, casei;
char s[105];
int main()
{
scanf("%d", &casenum);
for (casei = 1; casei <= casenum; ++casei)
{
int A = 0;
int L = 0;
scanf("%s", s);
for (int i = 0; s[i]; ++i)
{
if (s[i] == 'A')
{
++A;
L = 0;
}
else if (s[i] == 'L')
{
if (++L >= 3)A = 2;
}
else
{
L = 0;
}
}
puts(A >= 2 ? "NO" : "YES");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  题库-hihocoder 水题