[백준] #9663 N-Queen python
2023. 1. 11. 10:25
https://www.acmicpc.net/problem/9663
📕 설명 📕
2차원 배열을 1차원 배열의 인덱스로 표현하였다.
(x, y) => row[x] = y와 같이 말이다.
1. row 배열 내에 같은 값의 유무 확인.
2. 대각선의 값들을 고려하여 대각선의 위치한 Queen의 자리를 확인한다.
🧑🏻💻 나의 풀이 🧑🏻💻
N = int(input())
result = 0
r = [0] * N
def is_OK(num):
for i in range(num):
if r[num] == r[i] or abs(r[num] - r[i]) == abs(num - i):
return False
return True
def N_QUEEN(num):
global result
if num == N:
result += 1
return
else:
for i in range(N):
r[num] = i
if is_OK(num):
N_QUEEN(num + 1)
N_QUEEN(0)
print(result)
'Programming > Algorithm' 카테고리의 다른 글
[백준] #2559 수열 python (0) | 2023.01.13 |
---|---|
[백준] #11659 구간 합 구하기 4 (0) | 2023.01.12 |
[백준] #15652 N과 M (4) python (1) | 2023.01.10 |
[백준] #7576 토마토 python (0) | 2023.01.09 |
[백준] #15651 N과 M (3) python (0) | 2023.01.08 |