atcoder#ABC292G. [ABC292G] Count Strictly Increasing Sequences
[ABC292G] Count Strictly Increasing Sequences
配点 : 点
問題文
数字( 0123456789
)と ?
からなる長さ の文字列の列 が与えられます。
?
を独立に数字に置き換える方法は は に含まれる ?
の個数の合計 通りありますが、そのうち置き換え後の文字列をそれぞれ整数値とみなしたときに が成り立つようなものが何通りあるかを で割った余りを求めてください。
なお、?
を置き換えた後の は先頭に 個以上の 0
が連続していても構いません。例えば、0000000292
を整数値とみなすと となります。
制約
- は整数
- は数字と
?
からなる長さ の文字列
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
3 2
?0
??
05
4
条件を満たす置き換え方は以下の 通りです。
- の 文字目の
?
を0
に、 の 文字目の?
をそれぞれ0
,1
に置き換える。 - の 文字目の
?
を0
に、 の 文字目の?
をそれぞれ0
,2
に置き換える。 - の 文字目の
?
を0
に、 の 文字目の?
をそれぞれ0
,3
に置き換える。 - の 文字目の
?
を0
に、 の 文字目の?
をそれぞれ0
,4
に置き換える。
2 1
0
0
0
10 10
1?22??37?4
1??8?0??49
3?02??8044
51?4?8?7??
5?9?20???2
68?7?6?800
?3??2???23
?442312158
??2??921?8
????5?96??
137811792
答えを で割った余りを求めてください。