#4568. Prefix Concatenation

0

Prefix Concatenation

Prefix Concatenation

题目描述

给定两个由小写英文字母组成的字符串 SS 和 TT。 找出最小的正整数 kk,使得你可以选择(不必互不相同的)kk 个 SS 的前缀,使得它们的串联与 TT 相同。 换句话说,找出最小的正整数 kk,使得存在一个由 11 到 ∣S∣|S| 之间整数构成的 kk 元组 (a1,a2,…,ak)(a_1,a_2,\ldots, a_k),满足
T=Sa1+Sa2+⋯+SakT=S_{a_1}+S_{a_2}+\cdots +S_{a_k}, 其中 SiS_i 表示 SS 的从第 11 个字符到第 ii 个字符的子串,++ 表示字符串的串联。 如果不可能使其与 TT 一致,则输出 −1-1。

输入格式

输入由标准输入按以下格式给出: SS TT

输出格式

输出最小的正整数 kk,使得你可以选择 kk 个 SS 的前缀,使得它们的串联与 TT 相同。 如果不可能使其与 TT 一致,输出 −1-1。

aba
ababaab
3
atcoder
ac
-1

提示

1≤∣S∣≤5×1051 \leq |S| \leq 5\times 10^5 1≤∣T∣≤5×1051 \leq |T| \leq 5\times 10^5 SS 和 TT 是由小写英文字母组成的字符串。T=T= ababaabababaab 可以写成 abab + abaaba + abab,其中 abab 和 abaaba 是 S=S= abaaba 的前缀。
由于无法用两个或更少的 abaaba 的前缀表示 ababaabababaab,输出 33.
由于无法将 TT 表示为若干 SS 的前缀的串联,输出 −1-1.

标签: AtCoder|abc257G

来源

AtCoder|abc257G