백준 풀이

백준 9663번 파이썬 (백트래킹 기초)

ag2개발자 2022. 8. 30. 19:56
def dis(x):
    for i in range(x):
        if row[i]==row[x] or abs(row[i]-row[x])==abs(x-i):
            return False
    return True

def sol(x):
    global cnt
    if x==n:
        cnt+=1
        return
    else:
        for i in range(n):
            #퀸의 위치 = (x,i)
            row[x]=i
            if dis(x):
                sol(x+1)

n=int(input())
row=[0]*n
cnt=0
sol(0)
print(cnt)

'백준 풀이' 카테고리의 다른 글

백준 14502번 파이썬  (0) 2022.08.31
백준 9020번 파이썬 소수찾기  (0) 2022.08.31
백준 4949번 파이썬  (0) 2022.08.30
백준 10816번 파이썬  (0) 2022.08.30
백준 15652번 파이썬  (0) 2022.08.30