#P2596. 循环移位的魔法

循环移位的魔法

题目描述

在一个神秘的魔法王国中,字符串是传递重要信息的神奇符文。小k是一名年轻的魔法学徒,他在学习字符串的奥秘时发现了一种神奇的操作——循环移位。通过这项操作,字符串的第一个字符可以被移到末尾,形成一个新的字符串。这项魔法操作被称为“循环移位”。

一天,国王下令:小k需要检查两个给定的字符串之间是否存在某种特殊的关系。具体来说,国王要求小k判断:是否有一个字符串可以通过若干次循环移位,成为另一个字符串的子串。

例如:

  • 对于字符串 s1="AABCD"s1 = "AABCD",经过两次循环移位后,它变成了 "BCDAA",而 "CDAA" 就是这个新字符串的子串。
  • 但如果 s1="ABCD"s1 = "ABCD"s2="ACBD"s2 = "ACBD",无论怎么移位,s1s1 都无法成为 s2s2 的子串。

现在,小k需要帮助国王解决这个问题:给定两个字符串 s1s1s2s2,你能判断其中一个字符串是否可以通过循环移位变成另一个字符串的子串吗?

输入格式

共一行,包含两个字符串,中间由单个空格隔开。

字符串只包含字母和数字,长度不超过 30。

输出格式

如果一个字符串是另一个字符串通过若干次循环移位后形成的新字符串的子串,则输出 true,否则输出 false

样例

AABCD CDAA
true