문제 링크: https://www.acmicpc.net/problem/9663
백준 알고리즘 중급 1/3 531에서 9번째 - 9663번 N-Queen를 풀어보았다.
풀이: https://www.acmicpc.net/source/56230329
C++
Python
def bt(x):
global cnt
if x == n:
cnt += 1
for i in range(n):
if visited_1[i] or visited_2[i-x] or visited_3[i+x]:
continue
visited_1[i] = 1
visited_2[i-x] = 1
visited_3[i+x] = 1
bt(x+1)
visited_1[i] = 0
visited_2[i-x] = 0
visited_3[i+x] = 0
n = int(input())
cnt = 0
visited_1 = [0] * n
visited_2 = [0] * (2*n-1)
visited_3 = [0] * (2*n-1)
bt(0)
print(cnt)
Java
'코테용 문제풀이 > 백준' 카테고리의 다른 글
스도미노쿠 풀이 (1) | 2023.02.22 |
---|---|
스도쿠 풀이 (0) | 2023.02.22 |
에너지 모으기 풀이 (0) | 2023.02.16 |
두 동전 풀이 (0) | 2023.02.16 |
연산자 끼워넣기 (2) 풀이 (0) | 2023.02.16 |