#ABC257G. 前缀拼接

前缀拼接

前缀拼接

题目描述

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

求最小的正整数 kk,使得可以选择 SSkk 个前缀(各前缀可以相同),使它们连接起来等于 TT

换句话说,求最小的正整数 kk,使得存在一个元素都在 1 到 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 从第 1 个字符到第 ii 个字符的子串,++ 表示字符串的连接。

如果无法拼成 TT,则输出 1-1

输入格式

输入按以下格式从标准输入给出:

S
T

输出格式

输出最小的正整数 kk,使得可以选择 SSkk 个前缀,使它们连接起来等于 TT。 如果无法拼成 TT,则输出 1-1

样例

aba
ababaab
3

T=T= ababaab 可以写成 ab + aba + ab,其中 ab 和 aba 是 S=S= aba 的前缀。

由于用 ababaab 的两个或更少个前缀无法拼出它,输出 3。

atcoder
ac
-1

由于无法用 SS 的前缀连接出 TT,输出 1-1

数据范围

  • 1S5×1051 \le |S| \le 5 \times 10^5
  • 1T5×1051 \le |T| \le 5 \times 10^5
  • SSTT 是由小写英文字母组成的字符串。
难度 省选/NOI-
通过率
尝试 0
已通过 0
ID
2455
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签