#agc037b. [agc037_b]RGB Balls
[agc037_b]RGB Balls
问题描述
我们有 个彩色球,编号从 到 。长度为 的字符串 表示球的颜色。如果 是 R
,则球 是红色;如果 是 G
,则球 是绿色;如果 是 B
,则球 是蓝色。有 个红球, 个绿球和 个蓝球。
高滨要将这 个球分发给 个人,使得每个人得到一个红球、一个蓝球和一个绿球。人们希望得到的球的编号彼此相近,所以他还需要满足以下条件:
- 让 是第 个人收到的球的编号按升序排列。
- 那么, 应尽可能小。
找到高滨分发球的方式的数量。由于答案可能非常大,计算结果对 取模。我们认为两种分发方式不同,当且仅当存在一个人收到不同的一组球。
约束条件
- 由字符
R
、G
和B
组成,且每个字符在 中出现 次。
输入
输入以以下格式给出:
输出
打印高滨分发球的方式的数量,取模 。
示例输入 1
3
RRRGGGBBB
示例输出 1
216
当球被如下分发时, 的最小值是 :
- 第一个人得到球 、 和 。
- 第二个人得到球 、 和 。
- 第三个人得到球 、 和 。
示例输入 2
5
BBRGRRGRGGRBBGB
示例输出 2
960