Page not loading? Try clicking here.
Placeholder

#6058

N Rook 2 1s 1024MB

Problems

체스에서 rook은 가로, 세로 방향으로 어느 곳이나 한 번에 움직일 수 있다.

즉, 다음과 같은 체스판에서 rook이 X 라고 표시된 위치에 있을 때, 

그 다음 rook이 움직여 갈 수 있는 부분은 어둡게 칠해진 부분 중의 하나이다.

N \times N 크기의 정방형 체스판이 주어졌다. 

우리는 거기에 N개의 rook을 배치하려고 하는데, 모든 rook들은 서로 잡아먹을 수 없어야 한다. 

그렇다면 rook들을 어떻게 배치해야만 할까?

단, #으로 표시된 곳은 rook을 놓을 수가 없다.

#을 사이에 두고 rook을 배치해도 잡아먹을수 있다.

 

가능한 모든 경우의 개수를 출력한다.​


Input

첫 줄에 rook의 수 N(1≤N≤9)이 주어진다.

두 번째 줄부터 N줄에 걸쳐 N개의 문자가 주어진다.

  • 각 문자는 '.'은 빈칸, '#'은 장애물을 의미한다.


Output

N \times N의 체스판에서 N개의 rook들이 서로 잡아먹지 않는 위치로 놓을 수 있는 방법의 수를 출력한다. 


Example #1

3
...
...
...
6

Example #2

5
.####
....#
.....
#.###
.##..
3


Source

klee, wpfflzld

You must sign in to write code.