atcoder#ABC257G. [ABC257G] Prefix Concatenation

[ABC257G] Prefix Concatenation

题目描述

英小文字のみからなる 2 2 つの文字列 S,T S,T が与えられます。

(相異なっても良い) S S の接頭辞を k k 個連結することで T T と一致させられるような最小の正整数 k k を求めてください。

すなわち、S S 1 1 文字目から i i 文字目までを取り出した文字列を Si S_i としたときに、 k k 個の 1 1 以上 S |S| 以下の整数の組 (a1,a2,, ak) (a_1,a_2,\ldots,\ a_k) によって、
T=Sa1+Sa2+ +Sak T=S_{a_1}+S_{a_2}+\cdots\ +S_{a_k} (ここで + + は文字列としての連結を表す)と書くことができるような 最小の正整数 k k を求めてください。

T T と一致させる事が不可能な場合は 1 -1 を出力してください。

输入格式

入力は以下の形式で標準入力から与えられる。

S S T T

输出格式

S S の接頭辞を k k 個連結することで T T と一致させられるような最小の正整数 k k を出力せよ。 T T と一致させる事が不可能な場合は 1 -1 を出力せよ。

题目大意

给定仅存在小写英文字母的字符串 S,T S, T 。你需要将 T T 分割成 k k S S 的前缀(或着说用 S S 的若干个前缀组成 T T ),最小化 k k ,输出最小值。若 k k 不存在输出 -1

aba
ababaab
3
atcoder
ac
-1

提示

制約

  • 1  S  5× 105 1\ \leq\ |S|\ \leq\ 5\times\ 10^5
  • 1  T  5× 105 1\ \leq\ |T|\ \leq\ 5\times\ 10^5
  • S,T S,T は英小文字のみからなる文字列

Sample Explanation 1

T= T= ababaabab + aba + ab と書け、ab, aba はそれぞれ S= S= aba の接頭辞となっています。 ababaab2 2 個以下の aba の接頭辞の連結によって表す方法はないため、3 3 を出力します。

Sample Explanation 2

T T S S の接頭辞の連結によって表す方法はないため、1 -1 を出力します。