#abc104d. [abc104_d]We Love ABC
[abc104_d]We Love ABC
题目描述
字符串 的 ABC 数 是满足以下条件的整数三元组 的数量:
- ( 是 的长度)。
-
A
( 是 的第 个字符)。 -
B
-
C
例如,当 ABCBC
时,有三个满足条件的整数三元组 :。因此, 的 ABC 数为 。
给定一个字符串 。 中的每个字符都是 A
、B
、C
或 ?
。
设 是 中 ?
的出现次数。我们可以用 A
、B
或 C
替换 中的每个 ?
,得到 个字符串。求所有这些字符串的 ABC 数之和。
由于这个和可能非常大,因此以 为模打印这个和。
约束条件
- 中的每个字符都是
A
、B
、C
或?
。
输入
输入以以下格式从标准输入中给出:
输出
打印所有 个字符串的 ABC 数之和,并以 为模。
示例输入 1
A??C
示例输出 1
8
在这种情况下,,通过将 中的 ?
分别替换为 A
、B
或 C
,可以得到 个字符串。每个字符串的 ABC 数如下所示:
AAAC
:AABC
:AACC
:ABAC
:ABBC
:ABCC
:ACAC
:ACBC
:ACCC
:
将它们相加得到 ,因此我们打印 对 取模的结果,即 。
示例输入 2
ABCBC
示例输出 2
3
当 时,我们打印 本身的 ABC 数对 取模的结果。该字符串与题目中的示例相同,其 ABC 数为 。
示例输入 3
????C?????B??????A???????
示例输出 3
979596887
在这种情况下,所有 个字符串的 ABC 数之和为 ,我们应该将这个数对 取模得到 。