#D0983. 循环位移匹配

循环位移匹配

题目描述

小 C 有一个短字符串 SS。每做一次循环位移,就把当前字符串的最后一个字符移到最前面,其余字符的相对顺序不变。做零次或多次循环位移后,可得到若干种字符串。

给定文本 TT,请判断 TT 中是否存在一段连续字符,恰好等于 SS 的某种循环位移结果。零次位移得到的 SS 本身也算。

输入格式

第一行一个字符串 TT。

第二行一个字符串 SS。

两串都只含大写英文字母,且均非空。

输出格式

若存在,输出 yes;否则输出 no。

样例

XXCDEABYY
ABCDE
yes
ABCD
ABCDE
no
ZZABZZ
AB
yes

样例解释

样例 1:CDEAB 是 ABCDE 循环位移后得到的字符串,在文本中连续出现。

样例 2:短字符串比文本还长,不可能匹配。

样例 3:不做循环位移,AB 已经在文本中出现。

数据范围与约定

子任务 分值 限制
11 3030 字符串 SS 的长度为 11
22 7070 无额外限制

对于 100%100\% 的数据,字符串 TT 的长度为 11 到 10001000,字符串 SS 的长度为 11 到 2020。