已结束 GESP欢乐赛#61

A6298 | 小明的循环字符串

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

小明发现有一些字符串是由一个短字符串重复循环几次拼接而成的,最近他知道这种不断重复出现的短字符串可以称之为循环节。

一个长度为 $\lvert s \rvert$ 的字符串, 由小写字母,还有星号 * 构成, 对于每一个星号,小明可以自己选择一个小写字母来替换,请问在经过恰当的替换之后, 该字符串能够恰好是由若干个长度为 $k$ 的循环节拼接构成的吗?

输入格式

本题有多组测试点,第一行输入一个数字 $t$, 代表接下来一共有 $t$ 组测试点。

对于每一组测试点, 第一行给出一个由小写字母,还有星号 * 构成的字符串 $s$, 第二行给出一个整数 $k$, 代表循环节的长度。

$\sum_{i=1}^{t} \lvert s_i \rvert \le 2 \times 10^5$ 。

输出格式

输出 $t$ 行, 对于每一组测试点,如该字符串能够恰好是由若干个长度为 $k$ 的循环节拼接构成的, 输出 YES, 否则输出 NO

输入输出样例

输入 #1
3
ababa*
2
aba*ac
2
ab*ab
3
输出 #1
YES
NO
NO
C++ 编辑器
输入
输出