#2858. Strings of Eternity

0

Strings of Eternity

Strings of Eternity

题目描述

给定两个由小写英文字母组成的字符串 ss 和 tt。判断满足下述条件的非负整数 ii 的个数是否为有限的,如果是有限的,则找到这些 ii 的最大值。

存在一个非负整数 jj,使得 ii 个 tt 的连接构成的字符串是 jj 个 ss 的连接构成的字符串的一个子串。

输入格式

输入通过标准输入给出,格式如下: ss tt

输出格式

如果满足下述条件的非负整数 ii 的个数是有限的,输出这些 ii 的最大值;如果个数是无限的,输出 −1-1。

abcabab
ab
3
aa
aaaaaaa
-1
aba
baaab
0

提示

1≤∣s∣≤5×1051 \leq |s| \leq 5 \times 10^5 1≤∣t∣≤5×1051 \leq |t| \leq 5 \times 10^5 ss 和 tt 由小写英文字母组成。字符串 aa 是字符串 bb 的子串,当且仅当存在整数 xx (0≤x≤∣b∣−∣a∣)(0 \leq x \leq |b| - |a|) 使得对于任意 yy (1≤y≤∣a∣)(1 \leq y \leq |a|),都有 ay=bx+ya_y = b_{x+y}。

我们约定任意字符串的 0 个连接是空字符串。根据上述定义,空字符串是任何字符串的子串。因此,对于任意两个字符串 ss 和 tt,i=0i = 0 总是满足问题中的条件。33 个 tt 的连接 abababababab 是 22 个 ss 的连接 abcabababcabababcabababcabab 的一个子串,所以 i=3i = 3 满足条件。 另一方面,44 个 tt 的连接 abababababababab 不是任何个数的 ss 的连接的子串,所以 i=4i = 4 不满足条件。 同理,任何大于 44 的整数也不满足条件。因此,满足条件的非负整数 ii 的个数是有限的,这些 ii 的最大值是 33。
对于任意非负整数 ii,ii 个 tt 的连接都是 4i4i 个 ss 的连接的子串。因此,存在无限多个满足条件的非负整数 ii。
如注所述,i=0i = 0 总是满足条件。

标签: AtCoder|abc135F

来源

AtCoder|abc135F