Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

EightQueenProblem/안정원: Difference between revisions

From ZeroWiki
imported>anjw0111
No edit summary
imported>anjw0111
No edit summary
Line 1: Line 1:
다른 언어라면 이렇게 쉽게 안되었을 문제인데, 역시 Python입니다 ^ 오 ^
다른 언어라면 이렇게 쉽게 안되었을 문제인데, 역시 Python입니다 ^ 오 ^


'''EightQueenProblem1'''
# Start Time : 2014. 03. 16. 1:08
# Start Time : 2014. 03. 16. 1:08
# End Time : 2014. 03. 16. 1:24
# End Time : 2014. 03. 16. 1:24
Line 16: Line 17:
     print ''
     print ''
     break
     break
'''EightQueenProblem2'''
from itertools import permutations
n = 8
cols = range(n)
for vec in permutations(cols):
  if n == len(set(vec[i]+i for i in cols)) == len(set(vec[i]-i for i in cols)):
    print vec



Revision as of 16:42, 15 March 2014

다른 언어라면 이렇게 쉽게 안되었을 문제인데, 역시 Python입니다 ^ 오 ^

EightQueenProblem1

  1. Start Time : 2014. 03. 16. 1:08
  2. End Time : 2014. 03. 16. 1:24
from itertools import permutations
n = 8
cols = range(n)
for vec in permutations(cols):
  if n == len(set(vec[i]+i for i in cols)) == len(set(vec[i]-i for i in cols)):
    for i in cols:
      for j in cols:
        if vec[i] == j: print ('Q'),
        else: print '#',
      print 
    print 
    break


EightQueenProblem2

from itertools import permutations
n = 8
cols = range(n)
for vec in permutations(cols):
  if n == len(set(vec[i]+i for i in cols)) == len(set(vec[i]-i for i in cols)):
    print vec