atcoder#ARC120B. [ARC120B] Uniformly Distributed
[ARC120B] Uniformly Distributed
题目描述
行 列のマス目があります。上から 行目、左から 列目のマスをマス と呼ぶことにします。
マス目の状態を表す 個の文字列 が与えられます。マス の状態は以下の通りです。
- の 文字目が
R
ならば赤く塗られている - の 文字目が
B
ならば青く塗られている - の 文字目が
.
ならば色が塗られていない
色が塗られていないマスの個数を とすると、そのようなマスそれぞれを赤と青のどちらかで塗る方法は 通りありますが、このうち以下の条件を満たすものの個数を求めてください。
- マス からマス に、右または下へ マス移動することを繰り返して辿り着くとき、途中で通過するマス (マス を含む) のうち赤に塗られたものの数が、通る経路によらず一定である
ただし、答えは非常に大きくなることがあるので、 で割った余りを出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを で割った余りを出力せよ。
题目大意
题目描述:
给定一个大小为 的网格图,每个格子可以被染成红色(R)、蓝色(B)或为空(.)。记空格数量为 ,将所有空格依次染成红色或蓝色,总共有 种染色方案。
现在要求在从 出发,向下或向右移动一格到达 的过程中,所有经过的格子(包括起点和终点)中被染成红色的格子数目相等。求有多少种方案满足条件。答案对 取模。
输入格式:
第一行包含两个整数 和 。接下来 行,每行包含一个长度为 的字符串,表示该行格子的染色情况。
输出格式:
输出一个整数,表示满足条件的染色方案数对 取模的结果。
数据范围
2 2
B.
.R
2
3 3
R.R
BBR
...
0
2 2
BB
BB
1
提示
制約
- は
R
,B
,.
からなる長さ の文字列
Sample Explanation 1
マス からマス に、右または下へ マス移動することを繰り返して辿り着く方法は以下の 通りあります。 - マス $ (1,\ 1)\ \rightarrow\ (1,\ 2)\ \rightarrow\ (2,\ 2) $ - マス $ (1,\ 1)\ \rightarrow\ (2,\ 1)\ \rightarrow\ (2,\ 2) $ マス とマス を異なる色で塗った場合、上記の 通りの移動方法のどちらを選ぶかによって、通過する赤く塗られたマスの数が変わってしまうため条件を満たしません。 一方で、マス とマス を同じ色で塗った場合、通過する赤く塗られたマスの数は移動方法によって変わらないため、条件を満たします。 よって条件を満たす塗り方は 通りあります。
Sample Explanation 2
条件を満たす塗り方が存在しないかもしれません。
Sample Explanation 3
色が塗られていないマスが存在せず、現在のマス目は条件を満たすため、答えは となります。