Coloreando el Tablero


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Ada, BrainF***, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

Dado un tablero de MxN casillas que puedes colorear, cada casilla se puede colorear de rojo o de azul, pero bajo las siguientes restricciones:

• Cada casilla debe estar coloreada.

• Algunas casillas ya están previamente coloreadas y no se pueden repintar con otro color.

• Para cada casilla pintada de azul X, todas las casillas desde X hasta la casilla en la esquina superior izquierda también deben estar pintadas de azul.

Dadas estas restricciones, ¿de cuántas maneras distintas se puede colorear el tablero? El tablero no puede ser rotado.

Entrada

La primera línea de la entrada contiene dos enteros separados por un espacio M y N (1 \leq M, N \leq 30). En cada una de las siguientes M líneas aparecerán N caracteres, representando el tablero. Un carácter ‘B’ indica una casilla ya pintada como azul, similarmente ‘R’ indica una casilla ya pintada con rojo. Y el carácter ‘.’ Indica una casilla no pintada.

Salida

Imprima un único entero que representa la cantidad de maneras distintas de colorear el tablero.

Ejemplo de entrada #1

Entrada

3 2     
.. 
B. 
.R

Salida

6

Explicación del ejemplo:

BB BB BR BR BB BB

BB BR BR BR BR BB

BR BR BR RR RR RR

Ejemplo de entrada #2

Entrada

7 6         
...... 
.....B 
.B..R. 
...... 
...B.. 
.R.... 
...R..

Salida

3

Ejemplo de entrada #3

Entrada

2 2           
R. 
.B

Salida

0

Comments

There are no comments at the moment.