atcoder#ABC228G. [ABC228G] Digits on Grid
[ABC228G] Digits on Grid
配点 : 点
問題文
縦 行、横 列のマス目があり、それぞれのマスには から のいずれかの数字が書かれています。 かつ を満たす整数の組 それぞれについて、上から 行目、 左から 列目のマスに書かれた数字は です。
高橋君と青木君はこのマス目を使って 人で遊びます。 まず、高橋君がいずれか つのマスを選び、そのマスにコマを置きます。その後、 人は下記の手順 1. から 4. を 回繰り返します。
- 高橋君が次の つのうちどちらか一方を行う。- 現在コマが置かれているマスと同じ行にある別のマスに、コマを移動する。
- 何もしない。
- 高橋君が、現在コマが置かれているマスに書かれた数字を黒板に書く。
- 青木君が次の つのうちどちらか一方を行う。- 現在コマが置かれているマスと同じ列にある別のマスに、コマを移動する。
- 何もしない。
- 青木君が、現在コマが置かれているマスに書かれた数字を黒板に書く。
その後、黒板には 個の数字が書かれています。それらの数字を黒板に書かれたのが早い順番に並べたものを とします。 人は 個の数字をこの順番で繋げて 桁の整数 を作ります。
整数 としてあり得るものが何通りあるかを、 で割った余りを出力してください。
制約
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
出力
整数 としてあり得るものが何通りあるかを、 で割った余りを出力せよ。
2 2 1
31
41
5
例えば、以下の進行が考えられます。
- まず高橋君がマス にコマを置く。
- 高橋君がコマをマス からマス に動かす。その後、マス に書かれた数字 を黒板に書く。
- 青木君がコマをマス からマス に動かす。その後、マス に書かれた数字 を黒板に書く。
この場合、 となります。 他の例として、以下の進行も考えられます。
- まず高橋君がマス にコマを置く。
- 高橋君がコマをマス から動かさず、マス に書かれた数字 を黒板に書く。
- 青木君がコマをマス からマス に動かす。その後、マス に書かれた数字 を黒板に書く。
この場合、 となります。 としてあり得る整数は、上記の例で示した の他にも があります。また、それら以外の整数が となることはありえません。 としてあり得る整数の個数は 個であるので を出力します。
2 3 4
777
777
1
整数 としてあり得るのは、 のみです。
10 10 300
3181534389
4347471911
4997373645
5984584273
1917179465
3644463294
1234548423
6826453721
5892467783
1211598363
685516949
で割った余りを出力することに注意して下さい。