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

A13222. Obtain The String

编程题 普及/提高-

题目描述

You are given two strings $s$ and $t$ consisting of lowercase Latin letters. Also you have a string $z$ which is initially empty. You want string $z$ to be equal to string $t$ . You can perform the following operation to achieve this: append any subsequence of $s$ at the end of string $z$ . A subsequence is a sequence that can be derived from the given sequence by deleting zero or more elements without changing the order of the remaining elements. For example, if $z = ac$ , $s = abcde$ , you may turn $z$ into following strings in one operation:

1. $z = acace$ (if we choose subsequence $ace$ );
2. $z = acbcd$ (if we choose subsequence $bcd$ );
3. $z = acbce$ (if we choose subsequence $bce$ ).

Note that after this operation string $s$ doesn't change.

Calculate the minimum number of such operations to turn string $z$ into string $t$ .

输入格式

The first line contains the integer $T$ ( $1 \le T \le 100$ ) — the number of test cases.

The first line of each testcase contains one string $s$ ( $1 \le |s| \le 10^5$ ) consisting of lowercase Latin letters.

The second line of each testcase contains one string $t$ ( $1 \le |t| \le 10^5$ ) consisting of lowercase Latin letters.

It is guaranteed that the total length of all strings $s$ and $t$ in the input does not exceed $2 \cdot 10^5$ .

输出格式

For each testcase, print one integer — the minimum number of operations to turn string $z$ into string $t$ . If it's impossible print $-1$ .

输入输出样例

输入 #1
3
aabce
ace
abacaba
aax
ty
yyt
输出 #1
1
-1
3
上一题 去做题 下一题