atcoder#AGC037B. [AGC037B] RGB Balls
[AGC037B] RGB Balls
题目描述
色のついたボールが 個あり、それぞれには から の番号がついています。 各ボールの色は長さ の文字列 によって表されており、ボール の色は が R
のとき赤色、G
のとき緑色、B
のとき青色です。 赤色のボール、緑色のボール、青色のボールはそれぞれ 個ずつあります。
高橋君はこの 個のボールを、各人が赤、青、緑のボールを つずつ割り当てられるよう、 人の人に分配することにしました。 ただし、ボールをもらう人たちはできるだけ近い番号のボールが欲しいので、高橋君はさらに以下の条件をみたすように分配することにしました。
- 番目の人が受け取ったボールの番号を小さい順に とする。
- このとき ができるだけ小さくなるように分配する。
高橋君がボールを分配する方法は何通りあるか求めてください。 答えは非常に大きくなることがあるので、 で割ったあまりを求めてください。 ただし、 つのボールの分配方法が異なるとは、ある人が存在して、その人が受け取ったボールの集合が異なることを指します。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
高橋君のボールの分配方法が何通りあるかを で割ったあまりを出力せよ。
题目大意
题目描述
给出一个只包含的字符串,保证它们三种字符出现的次数都为,现在你要将这个字符分给个人,使得每个人都拿到了三种字符,假设某人的三个字符在序列中的位置为,其中,那么这个人的贡献为,问使得总贡献最小的方案数有多少,答案对取模。
输入
输入共两行,第一行输入 ,第二行输入长度为,且只含三个字母,每种字符恰好个的字符串。
输出
输出使得总贡献最小的方案数,对取模。
3
RRRGGGBBB
216
5
BBRGRRGRGGRBBGB
960
提示
制約
- は
R
,G
,B
のみからなり、それぞれ 回ずつ に登場する
Sample Explanation 1
例えば以下のようにボールを分配したとき、 の値が となり最小となります。 - 番目の人にボール を渡す。 - 番目の人にボール を渡す。 - 番目の人にボール を渡す。