4347: 无限替换

内存限制:128 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:185 通过:36

题目描述

给你两个字符串 , 分别为仅由字母 "a" 组成的字符串 s , 以及字符串 t , 它们都由小写字母组成。

每一次移动,您可以将字符串 s 中的任意字母“a”替换为字符串 . 请注意,替换字符串之后 可能包含“a”以外的字母。

您可以执行任意次数的替换(包括不替换)。这样操作之后您可以获取多少个不同的字符串?

如果两个字符串的长度不同,或者它们在某个索引处不同,则认为它们不同。

输入格式

第一行包含一个整数  (1 ≤ q ≤ 104)表示测试用例的数量。

每个测试用例的第一行包含一个非空字符串 ,仅由拉丁字母“a”组成。s长度不超过 50.

第二行包含一个非空字符串 t,由小写字母组成。t 长度不超过 50.

输出格式

对于每个测试用例,打印不同字符串的数量 可以在任意数量的移动(包括零)后获得。如果数字无限大,则打印 -1。否则,请打印该数字。

输入样例 复制

3
aaaa
a
aa
abc
a
b

输出样例 复制

1
-1
2

数据范围与提示

在第一个示例中,您可以将任何字母“a”替换为字符串“a”,但这不会更改字符串。因此,无论您移动多少次,除了初始字符串之外,您都无法获得其他字符串。

在第二个示例中,您可以将第二个字母“a”替换为“abc”。字符串 变为等于“aabc”。然后第二个字母“a”又来了。字符串 变为等于“aabcbc”。依此类推,生成无限多个不同的字符串。

在第三个示例中,您可以保留字符串 按原样,执行零替换,或将唯一的“a”替换为“b”。字符串 变为等于“b”,因此您无法对其执行更多移动。