Yes-Yes?

题目描述

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,否则输出 NOYES 和 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;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值