#aBC257G. [ABC257G] Prefix Concatenation

[ABC257G] Prefix Concatenation

AT_abc257_g [ABC257G] Prefix Concatenation

题目描述

给定两个仅由小写英文字母组成的字符串 SSTT

请你求出一个最小的正整数 kk,使得可以通过连接 kk 个(可以相同也可以不同)SS 的前缀,得到字符串 TT

也就是说,设 SiS_i 表示 SS 的第 11 个字符到第 ii 个字符组成的前缀字符串,那么是否存在 kk11S|S| 之间的整数 a1,a2,,aka_1,a_2,\ldots,a_k,使得

T=Sa1+Sa2++SakT = S_{a_1} + S_{a_2} + \cdots + S_{a_k}

(这里 ++ 表示字符串的连接),并求出最小的正整数 kk

如果无法通过上述方式得到 TT,请输出 1-1

输入格式

输入以如下格式从标准输入读入:

SS TT

输出格式

输出通过连接 kkSS 的前缀能够得到 TT 的最小正整数 kk。如果无法得到 TT,则输出 1-1

输入输出样例 #1

输入 #1

aba
ababaab

输出 #1

3

输入输出样例 #2

输入 #2

atcoder
ac

输出 #2

-1

说明/提示

限制条件

  • 1S5×1051 \leq |S| \leq 5 \times 10^5
  • 1T5×1051 \leq |T| \leq 5 \times 10^5
  • S,TS,T 均为仅由小写英文字母组成的字符串

样例解释 1

T=T = ababaab 可以表示为 ab + aba + ab,其中 ababa 都是 S=S = aba 的前缀。无法用不超过 22SS 的前缀连接得到 ababaab,因此输出 33

样例解释 2

无法通过连接 SS 的前缀得到 TT,因此输出 1-1

由 ChatGPT 4.1 翻译