#START_TIME_ 16.03.12 PM 11:27
#lan : Python 3.5.1
Map = [[0]*8 for x in range(8)]
no = 0
def printMap():
global no
no += 1
print('NO.',no)
global Map
for x in range(8):
for y in range(8):
a = {0:'-', 1:'Q'}
print(a[Map[x][y]], end=' ')
print('')
return
def is_queen_there_check(floor, point):
global Map
a, b = floor, point
col = [ Map[x][b] for x in range(8)] # 세로
if 0 < sum(col): return
ang = [ Map[a-x][b-x] for x in range(min(b+1,a+1)) ] #왼대각
if 0 < sum(ang): return
ang = [ Map[a-x][b+x] for x in range(min(8-b,a+1)) ] #오른대각
if 0 < sum(ang): return
if a+1 == 8:
Map[a][b] = 1
printMap() #8층이면 인쇄
Map[a][b] = 0
return
Map[a][b] = 1
for x in range(8):
is_queen_there_check(a+1,x) #그냥 돌려라.
Map[a][b] = 0
for x in range(8):
is_queen_there_check(0,x)
#Error1 : INF_LOOP PM 11:46, All Reset #코드 작성 다시 시작
#Error2 : 같은 거 8번 인쇄, PM 12:05
#Error3 : 467개? PM 12:13
#92개 체크 완료
#END TIME : 16.03.13 PM 12:15
정말 많이 공부해야겠다.
52 lines, 주석 다 날리면 42 lines 인데 무슨 상관이야!
가장 눈에 들어오는 문제점이라면, 수치 착각, 반복문의 범위.