题目描述
You talked to Polycarp and asked him a question. You know that when he wants to answer "yes", he repeats Yes many times in a row.
Because of the noise, you only heard part of the answer — some substring of it. That is, if he answered YesYes, then you could hear esY, YesYes, sYes, e, but you couldn't Yess, YES or se.
Determine if it is true that the given string s is a substring of YesYesYes... (Yes repeated many times in a row).
输入格式
The first line of input data contains the singular t ( 1≤t≤1000 ) — the number of test cases in the test.
Each test case is described by a single string of Latin letters s ( 1≤∣s∣≤50 ) — the part of Polycarp's answer that you heard, where ∣s∣ — is the length of the string s .
输出格式
Output t lines, each of which is the answer to the corresponding test case. As an answer, output "YES" if the specified string s is a substring of the string YesYesYes...Yes (the number of words Yes is arbitrary), and "NO" otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).
题意翻译
给定 t 个字符串,请判定这些字符串是否分别是 YesYesYesYes…YesYesYesYes… 的子串。是则输出 YES
,否则输出 NO
(YES
和 NO
大小写不定)。
Translated by @JYqwq
输入输出样例
输入 #1复制
12 YES esYes codeforces es se YesY esYesYesYesYesYesYe seY Yess sY o Yes
输出 #1复制
NO YES NO YES NO YES YES NO NO YES NO YES
#include <stdio.h>
#include <string.h>
#define youhuadaxia (strstr(youhua, s) == NULL)
void solve(int n) {
char youhua[] = "YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes";
for (int i = 0; i < n; i++) {
char s[100];
scanf("%s", s);
if (youhuadaxia) {
printf("NO\n");
} else {
printf("YES\n");
}
}
}
int main() {
int n;
scanf("%d", &n);
solve(n);
return 0;
}