Menu
CoddyTech

N-Queens II

어려움백트래킹python iconjava iconcpp iconc iconjs icon+10

퀸은 아무리 멀리 떨어져 있어도 자신의 행, 열, 양쪽 대각선에 있는 모든 칸을 공격합니다. 정수 n이 주어졌을 때, 서로 공격하지 않도록 n × n 체스판에 n개의 퀸을 배치하는 방법의 수를 반환하세요.

한 칸이라도 다른 체스판은 각각 별개의 경우로 셉니다. 거울상도 포함됩니다.

함수

totalNQueens(n: integer) → integer
ninteger
보드의 크기와 퀸의 수
반환값integer
서로 공격하지 않도록 퀸을 배치하는 방법의 수

제약 조건

  • 1 ≤ n ≤ 12
  • n = 12의 답은 14,200이므로 32비트 정수에 들어갑니다.

예제

입력
n = 4
출력
2
설명
각 행의 퀸이 놓인 열을 위에서 아래로 적으면, 보드는 1, 3, 0, 2와 2, 0, 3, 1입니다. 서로 거울상인 두 가지로 셉니다. 다른 모든 배치는 두 퀸이 같은 열이나 대각선에 놓이게 합니다.
challenge icon

후속 질문

보드를 회전하거나 뒤집어도 서로 다른 상태로 남는 보드만 셀 수 있나요? n = 8일 때, 92개의 보드는 이러한 12개의 그룹으로 나뉩니다.

코드 초기화
def totalNQueens(n):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

인자

n = 4

예상 출력

2