N-Queen
def recu(na):
global cnt
if len(na) == n:
cnt += 1
return
for i in range(n):
if i not in na:
p = True
for j in range(len(na)):
if abs(na[j] - i) == abs(j - len(na)):
p = False
break
if p:
ta = []
for j in range(len(na)):
ta.append(na[j])
ta.append(i)
recu(ta)
import sys
sys.stdin = open('note.txt', 'r')
n = int(input())
cnt = 0
# ์ง์
if not n % 2:
for i in range(n//2):
a = [i]
recu(a)
print(2*cnt)
# ํ์
else:
for i in range(n//2):
a = [i]
recu(a)
cnt *= 2
a = [n // 2]
recu(a)
print(cnt)Last updated