atcoder#ARC061D. [ARC061F] 3人でカードゲーム
[ARC061F] 3人でカードゲーム
配点 : 点
問題文
A さん、B さん、C さんの 人が以下のようなカードゲームをプレイしています。
- 最初、 人はそれぞれ
a
、b
、c
いずれかの文字が書かれたカードを、A さんは 枚、B さんは 枚、C さんは 枚持っている。 人は、持っているカードを並べ替えることはできない。 - A さんのターンから始まる。
- 現在自分のターンである人がカードを 枚以上持っているならば、そのうち先頭のカードを捨てる。その後、捨てられたカードに書かれているアルファベットと同じ名前の人 (例えば、カードに
a
と書かれていたならば A さん) のターンとなる。 - 現在自分のターンである人がカードを 枚も持っていないならば、その人がゲームの勝者となり、ゲームは終了する。
人が最初に配られるカードに書いてある文字の並びは、全部で 通りの組み合わせがあります。このうち、A さんが勝者となってゲームが終了するのが何通りあるかを求めてください。
答えは大きくなる可能性があるので、 で割った余りを出力してください。
制約
部分点
- 、 、 を満たすデータセットに正解した場合は、 点が与えられる。
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを で割った余りを出力せよ。
1 1 1
17
- A さんが
a
を持っている場合は、他の 人の持っているカードに関わらず A さんが勝ちます。これは 通りあります。 - A さんが
b
を持っている場合は、B さんがa
を持っているか、 B さんがc
を持っていてかつ C さんがa
を持っている場合に限り A さんが勝ちます。これは 通りあります。 - A さんが
c
を持っている場合は、C さんがa
を持っているか、 C さんがb
を持っていてかつ B さんがa
を持っている場合に限り A さんが勝ちます。これは 通りあります。
合計すると、 通りとなります。
4 2 2
1227
1000 1000 1000
261790852