백준 9663 - N-Queen (파이썬)

Updated:

Answer

def is_adjacent(x):
    for i in range(x):
        if r[x] == r[i] or abs(r[x] - r[i]) == x - i:
            return False
    return True

def dfs(x):
    global answer
    
    if x == n:
        answer += 1
    else:
        for i in range(n):
            r[x] = i
            if is_adjacent(x):
                dfs(x + 1)

n = int(input())
r = [0] * n
answer = 0
dfs(0)
print(answer)

Categories:

Updated: