¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#1806

1s 256MB

Problemas

라마 조교는 꿈에서 재주 조교로부터 도망치고 있었다.

한참을 도망치다 보니 어느덧 N * M의 격자 모양을 한 산에 숨어있게 되었다.

라마 조교는 꿈속에서도 문제만 생각하나보다.

 

라마 조교가 이 산에서 요리조리 재주 조교로부터 도망치기 위해서 산의 모양을 보니

도망치느라 자세히 확인은 못 했지만 몇몇 칸은 변 또는 점을 공유하는 인접한 여덟 칸(산의 끝자락이라면 그 이하) 보다 상대적으로 높이가 낮았다.

이런 위치는 들키기 쉬워 숨어서는 안 될 것 같았다. 결국 라마 조교는 도망치다 잡히기 직전에 꿈에서 깨어날 수 있었다.

 

라마 조교가 본 산의 각 칸의 높이는 모두 달랐고, 인접한 칸들보다 항상 낮은 최저점들을 기억하고 있다.

라마 조교는 가능한 모든 산의 높이 순서의 경우의 수를 구하고 싶다. 어떻게 하면 좋을까? 단, 새로운 최저점이 생겨서는 안 된다.


Entrada

첫 행에는 N, M이 공백으로 구분되어 주어진다. (1 ≤ N ≤ 4, 1 ≤ M ≤ 7)

다음 N 행에 걸쳐 M개의 문자로 구성된 문자열이 주어진다. 이 때 각 문자는 ‘.’ 또는 ‘X’ 인데, ‘X’는 라마 조교가 기억하는 (주변의 인접한 모든 칸보다 낮은) 최저점이다.


Salida

가능한 경우의 수를 12345678으로 나눈 나머지를 구하여라. 모순이면 가능한 경우의 수가 없으므로 0을 출력한다.


Ejemplo #1

1 3

.X.
2

Ejemplo #2

2 2

X.
.X
0 

Fuente

Online contest
Debes iniciar sesión para escribir código.