<?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=EightQueenProblem%2F%EA%B0%95%EC%9D%B8%EC%88%98</id>
	<title>EightQueenProblem/강인수 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=EightQueenProblem%2F%EA%B0%95%EC%9D%B8%EC%88%98"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=EightQueenProblem/%EA%B0%95%EC%9D%B8%EC%88%98&amp;action=history"/>
	<updated>2026-05-15T09:24:24Z</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=EightQueenProblem/%EA%B0%95%EC%9D%B8%EC%88%98&amp;diff=31513&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=EightQueenProblem/%EA%B0%95%EC%9D%B8%EC%88%98&amp;diff=31513&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;* C++로 한거(심심해서 한거)&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;cmath&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 const int N = 8;&lt;br /&gt;
 &lt;br /&gt;
 int fac(int n)&lt;br /&gt;
 {&lt;br /&gt;
 	int ret = 1;&lt;br /&gt;
 	if(n &amp;amp;lt;= 1)&lt;br /&gt;
 		return 1;&lt;br /&gt;
 	for(int i = 2 ; i &amp;amp;lt;= n ; ++i)&lt;br /&gt;
 		ret *= i;&lt;br /&gt;
 	return ret;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool isCorrectChecker(vector&amp;amp;lt;int&amp;amp;gt;&amp;amp;amp; ar)&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i = 0 ; i &amp;amp;lt; ar.size() ; ++i)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j = 0 ; j &amp;amp;lt; ar.size() ; ++j)&lt;br /&gt;
 			if( abs(ar[i] - ar[j]) == abs(i - j) &amp;amp;amp;&amp;amp;amp; i != j )&lt;br /&gt;
 				return false;&lt;br /&gt;
 	}&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt; getCorrectChecker(vector&amp;amp;lt;int&amp;amp;gt;&amp;amp;amp; ar)&lt;br /&gt;
 {&lt;br /&gt;
 	vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt; ret;&lt;br /&gt;
 	for(int i = 0 ; i &amp;amp;lt; fac( ar.size() ) ; ++i)&lt;br /&gt;
 	{&lt;br /&gt;
 		next_permutation(ar.begin(), ar.end());&lt;br /&gt;
 		if( isCorrectChecker(ar) )&lt;br /&gt;
 			ret.push_back( ar );&lt;br /&gt;
 	}&lt;br /&gt;
 	return ret;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void showResult(vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt;&amp;amp;amp; result)&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i = 0 ; i &amp;amp;lt; result.size() ; ++i)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j = 0 ; j &amp;amp;lt; result[i].size() ; ++j)&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; result[i][j] &amp;amp;lt;&amp;amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vector&amp;amp;lt;int&amp;amp;gt; getDatas()&lt;br /&gt;
 {&lt;br /&gt;
 	vector&amp;amp;lt;int&amp;amp;gt; ret(N);&lt;br /&gt;
 	for(int i = 0 ; i &amp;amp;lt; N ; ++i)&lt;br /&gt;
 		ret[i] = i + 1;&lt;br /&gt;
 	return ret;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int totalNum = 0;&lt;br /&gt;
 	vector&amp;amp;lt;int&amp;amp;gt; ar = getDatas();&lt;br /&gt;
 	vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt; result = getCorrectChecker(ar);&lt;br /&gt;
 	showResult(result);&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
* 파이썬으로 한거(2003 데블스 캠프 대비용)&lt;br /&gt;
 class NQueen:&lt;br /&gt;
     def __init__(self, size):&lt;br /&gt;
         self.size = size&lt;br /&gt;
         self.count = 0&lt;br /&gt;
         self.board = [0] * (self.size+1)&lt;br /&gt;
     def isValid(self, curRow):&lt;br /&gt;
         for i in range(curRow):&lt;br /&gt;
             if self.board[i] == self.board[curRow] or\&lt;br /&gt;
                abs(self.board[i]-self.board[curRow]) == abs(i - curRow):&lt;br /&gt;
                 return False&lt;br /&gt;
         return True&lt;br /&gt;
     def traverse(self, curRow):&lt;br /&gt;
         for i in range(self.size):&lt;br /&gt;
             self.board[curRow] = i&lt;br /&gt;
             if self.isValid(curRow):&lt;br /&gt;
                 self.traverse(curRow+1)&lt;br /&gt;
                 if curRow == self.size-1:&lt;br /&gt;
                     self.printBoard()&lt;br /&gt;
     def printBoard(self):&lt;br /&gt;
         self.count+=1&lt;br /&gt;
         print self.count , &amp;#039; : &amp;#039;,&lt;br /&gt;
         for i in range(self.size):&lt;br /&gt;
             print self.board[i]+1 , &amp;#039; &amp;#039;,&lt;br /&gt;
         print&lt;br /&gt;
 &lt;br /&gt;
 if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
     queen = NQueen(8)&lt;br /&gt;
     queen.traverse(0)     &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[EightQueenProblem]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>