编程题:猫猫头与字符串
猫猫头最近在学习字符串相关的知识,比如kmp算法,suffix array等,今天猫猫头想分享一个题目给大家。
猫猫头带来了一个字符串给你,这个字符串由小写字母和?字符组成,事实上,你可以将字符串中的?字符替换成任意小写字母,猫猫头知道,当你将所有?替换成你想替换的字母后,这个字符串中的所有子字符串中"catcat"有且仅出现一次。
子字符串$[l,r]$指原字符串中从第$l$个字符开始的连续的$(r-l+1)$个字符串。
### input
第一行一个整数$t (1 \le t \le 2000)$ - 测试样例的数量
接下来有$t$个测试样例,每一个测试样例包括两行,第一行一个整数$n (1 \le n \le 50)$ - 猫猫头给你的字符串的长度
第二行有一行长度为$n$的字符串
### output
每个测试样例输出一行,如果能满足猫猫头的要求,则输出Yes,否则输出No,你可以输出任意大小写的YES or NO
### Sample Input1:
in
5
6
catcat
8
cat?at??
6
??????
10
abc????cat
9
catcatcat
### Sample Output1:
out
Yes
Yes
Yes
Yes
No
答案:若无答案欢迎评论
猫猫头带来了一个字符串给你,这个字符串由小写字母和?字符组成,事实上,你可以将字符串中的?字符替换成任意小写字母,猫猫头知道,当你将所有?替换成你想替换的字母后,这个字符串中的所有子字符串中"catcat"有且仅出现一次。
子字符串$[l,r]$指原字符串中从第$l$个字符开始的连续的$(r-l+1)$个字符串。
### input
第一行一个整数$t (1 \le t \le 2000)$ - 测试样例的数量
接下来有$t$个测试样例,每一个测试样例包括两行,第一行一个整数$n (1 \le n \le 50)$ - 猫猫头给你的字符串的长度
第二行有一行长度为$n$的字符串
### output
每个测试样例输出一行,如果能满足猫猫头的要求,则输出Yes,否则输出No,你可以输出任意大小写的YES or NO
### Sample Input1:
in
5
6
catcat
8
cat?at??
6
??????
10
abc????cat
9
catcatcat
### Sample Output1:
out
Yes
Yes
Yes
Yes
No
答案:若无答案欢迎评论