백준 9663 - N-Queen
2024-01-02
https://www.acmicpc.net/problem/9663
문제
N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다.
N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. (1 ≤ N < 15)
출력
첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다.
풀이
$N$의 최댓값이 14이다. 브루트 포스로 각 $N$에 대한 정답을 미리 전부 구한 뒤, 이를 배열에 담아 입력받은 $N$ 번째 원소를 출력하도록 하면 된다.
코드
print([0, 1, 0, 0, 2, 10, 4, 40, 92, 352, 724, 2680, 14200, 73712, 365596][int(input())])