4347: 无限替换
内存限制:128 MB
时间限制:1 S
标准输入输出
题目类型:传统
评测方式:文本比较
上传者:
提交:185
通过:36
题目描述
给你两个字符串 , 分别为仅由字母 "a" 组成的字符串 s , 以及字符串 t , 它们都由小写字母组成。
每一次移动,您可以将字符串 s 中的任意字母“a”替换为字符串 t . 请注意,替换字符串之后 s 可能包含“a”以外的字母。
您可以执行任意次数的替换(包括不替换)。这样操作之后您可以获取多少个不同的字符串?
如果两个字符串的长度不同,或者它们在某个索引处不同,则认为它们不同。
输入格式
第一行包含一个整数 q (1 ≤ q ≤ 104)表示测试用例的数量。
每个测试用例的第一行包含一个非空字符串 s ,仅由拉丁字母“a”组成。s长度不超过 50.
第二行包含一个非空字符串 t,由小写字母组成。t 长度不超过 50.
输出格式
对于每个测试用例,打印不同字符串的数量 s 可以在任意数量的移动(包括零)后获得。如果数字无限大,则打印 -1。否则,请打印该数字。
输入样例 复制
3
aaaa
a
aa
abc
a
b
输出样例 复制
1
-1
2
数据范围与提示
在第一个示例中,您可以将任何字母“a”替换为字符串“a”,但这不会更改字符串。因此,无论您移动多少次,除了初始字符串之外,您都无法获得其他字符串。
在第二个示例中,您可以将第二个字母“a”替换为“abc”。字符串 s 变为等于“aabc”。然后第二个字母“a”又来了。字符串 s 变为等于“aabcbc”。依此类推,生成无限多个不同的字符串。
在第三个示例中,您可以保留字符串 s 按原样,执行零替换,或将唯一的“a”替换为“b”。字符串 s 变为等于“b”,因此您无法对其执行更多移动。