#ATagc069c. [AGC069C] AB*A Changing
[AGC069C] AB*A Changing
AT_agc069_c [AGC069C] AB*A Changing
题目描述
现有两个长度为 的字符串 和 ,它们都只由字符 A 和 B 组成。我们用 来表示字符串 的第 个字符。
对于字符串 ,你可以反复进行以下操作不限次数:
-
选择两个整数 ,要求满足:
- 都为
B
-
然后,将 这段字符同时替换为它们相反的字符,即
A换成B,B换成A。
你的任务是判断,通过这种操作,能否将 变成 ,如果可以,求出最小操作次数;如果不可以,输出 -1。
输入格式
输入从标准输入中提供,格式为:
输出格式
如果可以通过操作将字符串 变为 ,输出最少需要的操作次数;如果无法做到,输出 -1。
输入输出样例 #1
输入 #1
5
AAABA
BAAAB
输出 #1
2
输入输出样例 #2
输入 #2
1
A
B
输出 #2
-1
输入输出样例 #3
输入 #3
1
A
A
输出 #3
0
输入输出样例 #4
输入 #4
10
AAABBABAAB
BBABBAAABB
输出 #4
7
说明/提示
- 均为由
A和B组成的长度为 的字符串
示例说明
示例 1
通过下面的操作,可以用 2 次将 变为 :
- 选择 ,此时 变为
ABBBA。 - 选择 ,此时 变为
BAAAB。
所以,最少操作次数为 2。
示例 2
不能通过任何操作将 变为 ,因而答案是 -1。注意:要求 。
示例 3
此时 和 本来就相同,不需任何操作。
本翻译由 AI 自动生成