高橋くんと文字列操作
题意翻译
高桥现在有字符串s,想将字符串s转变为字符串t。他打算将文字列末尾的一个字加在最前面,并删掉末尾的一个字,以这种操作来将字符串s转为字符串t。
最少要进行几次这种操作才能将字符串s转为字符串t呢?请写下输出最小次数的程序。如果不能转化的话请输出-1
题目描述
[problemUrl]: https://atcoder.jp/contests/indeednow-qualb/tasks/indeednow_2015_qualb_2
高橋くんは文字列 $ s $ を持っており、文字列 $ t $ を作りたいと思っています。 高橋くんは、文字列の末尾の $ 1 $ 文字を先頭に追加し、末尾の $ 1 $ 文字を削除するという操作を文字列 $ s $ に行うことで、文字列 $ s $ を文字列 $ t $ にしたいと考えています。
最小で何回この操作を行えば、文字列 $ s $ を文字列 $ t $ にできるでしょうか?最小の操作回数を出力するプログラムを書いてください。この操作では文字列 $ s $ を文字列 $ t $ に変換することができない場合、$ -1 $ と出力してください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ s $ $ t $
- $ 1 $ 行目には、高橋くんが持っている文字列 $ s\ (1\ ≦\ \|s\|\ ≦\ 1,000) $ が与えられる。ただし、$ \|s\| $ は文字列 $ s $ の長さを表す。$ s $ は半角小文字アルファベットa-zのみからなる。
- $ 2 $ 行目には、高橋くんが作りたい文字列 $ t\ (1\ ≦\ \|t\|\ ≦\ 1,000) $ が与えられる。$ t $ は半角小文字アルファベットa-zのみからなる。
输出格式
$ 1 $ 行目に、高橋くんが文字列 $ s $ を文字列 $ t $ に変換するための操作の最小回数を出力せよ。
行末の改行を忘れないこと。
输入输出样例
输入样例 #1
abcd
dabc
输出样例 #1
1
输入样例 #2
abcabcabc
bcabcabca
输出样例 #2
2
输入样例 #3
aaa
a
输出样例 #3
-1
输入样例 #4
cab
cab
输出样例 #4
0
说明
### Sample Explanation 1
`abcd` の末尾の文字を先頭に追加すると、 `dabcd` となり、ここから末尾の文字を削除すると、 `dabc` となります。 よって、$ 1 $ 回の操作で $ s $ は $ t $ に等しくなります。
### Sample Explanation 2
問題文中の操作を $ s $ に $ 2 $ 回行うと $ t $ と等しくなります。 $ 5 $ 回、$ 8 $ 回行っても $ t $ と等しくなりますが、最小のものを求める必要があります。