Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:512 MB
统计

【题目描述】
你正在打音游。突然家长进来了,你迅速关闭并打开了一道题:
一个字符串被称为 好的,当且仅当其由 A,B,C 组成,且 任意相邻位置的两个字符不同
一对字符串 (s, t) 被称为好的,当且仅当:
• s, t 长度相等且 均为奇数
• s, t 都是好的;
• 设 s, t 长度均为 2n + 1,那么它们的最长公共子序列长度 恰好为 n。
给定两个由 A,B,C,? 组成的、长度均为 2n+ 1 的字符串 s, t,如果把每个 ? 替换成 A,B,C 中的一个,有多少种方案使得替换完成后 (s, t) 是好的?答案对 998244353 取模。
【输入格式】
从文件 marshmary.in 中读入数据。
第 1 行 1 个正整数 T,表示数据组数。
对于每组测试数据:
• 第 1 行为 1 个整数 n。
• 第 2 行为 1 个由 A,B,C,? 组成、长度为 2n + 1 的字符串,表示 s。
• 第 3 行为 1 个由 A,B,C,? 组成、长度为 2n + 1 的字符串,表示 t。
【输出格式】
输出到文件 marshmary.out 中。
对于每组测试数据,输出一个非负整数,表示答案。
【样例 1 输入】

5
1
ABA
CBC
1
A?A
C?C
1
???
???
2
AA???
????B
3
?A?B?A?
???????
【样例 1 输出】

1
3
24
0
2
【样例 2 输入】

3
11
?????A??B?????B??A??BAB
C???CBC?C??AC?CA?B??C??
3
???????
???????
1
C?C
A?A
【样例 2 输出】

128
108
3
【子任务】
本 题 开 启 捆 绑 测 试
对于所有数据,$1 ≤ n,∑n ≤ 10^6, 1 ≤ T ≤ 10^5。$
12.png
• 特殊性质 A:s, t 中的字符全是 ?。