<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=EightQueenProblem2%2F%EC%9D%B4%EA%B0%95%EC%84%B1</id>
	<title>EightQueenProblem2/이강성 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=EightQueenProblem2%2F%EC%9D%B4%EA%B0%95%EC%84%B1"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=EightQueenProblem2/%EC%9D%B4%EA%B0%95%EC%84%B1&amp;action=history"/>
	<updated>2026-05-14T20:47:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=EightQueenProblem2/%EC%9D%B4%EA%B0%95%EC%84%B1&amp;diff=31506&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=EightQueenProblem2/%EC%9D%B4%EA%B0%95%EC%84%B1&amp;diff=31506&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; from Numeric import *&lt;br /&gt;
 &lt;br /&gt;
 class EightQueen:&lt;br /&gt;
     def __init__(self, size=8):&lt;br /&gt;
         self.board = zeros((size, size))&lt;br /&gt;
         self.sizeX, self.sizeY = self.board.shape&lt;br /&gt;
         self.queens = []&lt;br /&gt;
         self.solutions = []&lt;br /&gt;
 &lt;br /&gt;
     def decidePositions(self, count=8):&lt;br /&gt;
         if count == 0:&lt;br /&gt;
             return 1&lt;br /&gt;
         x = self.sizeX - count&lt;br /&gt;
         for y in range(self.sizeY):&lt;br /&gt;
             if self.board[x][y] != 0:&lt;br /&gt;
                 continue&lt;br /&gt;
             self.mark(self.board, x, y, 1)  # marking&lt;br /&gt;
             self.queens.append( (x, y) )&lt;br /&gt;
             res = self.decidePositions(count-1)&lt;br /&gt;
             self.mark(self.board, x, y, -1) # unmarking&lt;br /&gt;
             if res:&lt;br /&gt;
                 if count == 1:&lt;br /&gt;
                     print self.queens&lt;br /&gt;
                     self.solutions.append(self.queens[:])&lt;br /&gt;
                     self.queens.pop()&lt;br /&gt;
             else:&lt;br /&gt;
                 self.queens.pop()&lt;br /&gt;
         return 0&lt;br /&gt;
 &lt;br /&gt;
     def mark(self, board, startX, startY, count):&lt;br /&gt;
         board[startX][startY] += count&lt;br /&gt;
         for dx, dy in [(1, 0), (0, 1), (-1, 0), (0, -1), (1, 1), (1, -1), (-1, 1), (-1, -1)]:&lt;br /&gt;
             x, y = startX+dx, startY+dy&lt;br /&gt;
             while 0 &amp;amp;lt;= x &amp;amp;lt; self.sizeX and 0 &amp;amp;lt;= y &amp;amp;lt; self.sizeY:&lt;br /&gt;
                 board[x][y] += count&lt;br /&gt;
                 x += dx&lt;br /&gt;
                 y += dy&lt;br /&gt;
 &lt;br /&gt;
 if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
     e = EightQueen()&lt;br /&gt;
     e.decidePositions()&lt;br /&gt;
     print &amp;#039;Total solutions=&amp;#039;, len(e.solutions)&lt;br /&gt;
     print e.solutions&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>