문제
https://www.acmicpc.net/problem/9663
코드
n=int(input())
row=[0]*n
result=0
def check(x):
for i in range(x):
if row[i]==row[x] or abs(row[i]-row[x])==abs(i-x):
return False
return True
def dfs(x):
global result
if x==n:
result+=1
return
for i in range(n):
row[x]=i
if check(x):
dfs(x+1)
dfs(0)
print(result)
'문제풀이 > 기타' 카테고리의 다른 글
[파이썬] [백트래킹] 백준 1629 곱셈 (0) | 2022.04.01 |
---|---|
[파이썬] [스택] 백준 17298 오큰수 (0) | 2022.03.31 |
[파이썬] [힙] 백준 2696 중앙값 구하기 (0) | 2022.03.10 |
[파이썬] [백트래킹] 백준 15650 N과 M(2) (0) | 2022.03.09 |
[파이썬] [스택] 백준 15926 현욱 (0) | 2022.03.05 |