测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7047. 找找子串

编程题 普及/提高-
知识点

题目描述

给定两个只包含小写英文字母的字符串 $s$ 与 $t$。你可以进行若干次操作,每次操作将 $s$ 变为 $s+s$(即把 $s$ 自身拼接到末尾,长度翻倍)。

请你求出**最少**需要进行多少次操作,使得 $t$ 成为当前 $s$ 的一个**子串**;如果无论如何都无法做到,则输出 $-1$。

输入格式

一组单测。

第一行输入字符串 $s$。

第二行输入字符串 $t$。

输出格式

输出一个整数,为最少操作次数;若无法包含则输出 $-1$。

输入输出样例

输入 #1
ab
baba
输出 #1
2
输入 #2
abcd
bcda
输出 #2
1
输入 #3
abc
ac
输出 #3
-1

说明/提示

- $1 \le |s|, |t| \le 2\times 10^5$
- 字符均为小写英文字母 $a\sim z$。
上一题 去做题 下一题