CF1674C.Infinite Replacement

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Infinite Replacement

题目描述

给定一个只包含拉丁字母 'a' 的字符串 ss,以及一个只包含小写拉丁字母的字符串 tt

每次操作,你可以将字符串 ss 中的任意一个字母 'a' 替换为字符串 tt。注意,替换后字符串 ss 可能会包含除 'a' 以外的其他字母。

你可以进行任意次数(包括零次)的操作。你能得到多少个不同的字符串?请输出不同字符串的数量,或者如果数量无限大,则输出 1-1

如果两个字符串长度不同,或者在某个位置上的字符不同,则认为它们是不同的字符串。

输入格式

第一行包含一个整数 qq1q1041 \le q \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个非空字符串 ss,只包含拉丁字母 'a'。ss 的长度不超过 5050

每个测试用例的第二行包含一个非空字符串 tt,只包含小写拉丁字母。tt 的长度不超过 5050

输出格式

对于每个测试用例,输出一个整数,表示可以通过任意次数操作(包括零次)得到的不同字符串的数量。如果数量无限大,输出 1-1;否则输出具体数量。

说明/提示

在第一个样例中,你可以将任意一个字母 'a' 替换为字符串 "a",但这样不会改变字符串。因此无论进行多少次操作,都无法得到除初始字符串以外的其他字符串。

在第二个样例中,你可以将第二个字母 'a' 替换为 "abc",此时字符串 ss 变为 "aabc"。然后再次将第二个字母 'a' 替换,字符串 ss 变为 "aabcbc"。如此反复,可以生成无限多个不同的字符串。

在第三个样例中,你可以选择不进行操作,保留原字符串 ss,或者将唯一的 'a' 替换为 "b",此时字符串 ss 变为 "b",无法再进行操作。因此一共可以得到两种不同的字符串。

由 ChatGPT 4.1 翻译

样例

3
aaaa
a
aa
abc
a
b
1
-1
2

在线编程 IDE

建议全屏模式获得最佳体验