AT_abc257_g.[ABC257G] Prefix Concatenation

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定两个仅由小写英文字母组成的字符串 SS 和 TT。

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

也就是说,设 SiS_i 表示 SS 的第 11 个字符到第 ii 个字符组成的前缀字符串,那么是否存在 kk 个 11 到 ∣S∣|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

输出格式

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

输入输出样例

  • 输入#1

    aba
    ababaab

    输出#1

    3
  • 输入#2

    atcoder
    ac

    输出#2

    -1

说明/提示

限制条件

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

样例解释 1

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

样例解释 2

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

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页