<?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%EC%84%9C%EC%83%81%ED%98%84</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%EC%84%9C%EC%83%81%ED%98%84"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=EightQueenProblem/%EC%84%9C%EC%83%81%ED%98%84&amp;action=history"/>
	<updated>2026-05-15T05:43:52Z</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/%EC%84%9C%EC%83%81%ED%98%84&amp;diff=31518&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/%EC%84%9C%EC%83%81%ED%98%84&amp;diff=31518&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; &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #define NUM 8&lt;br /&gt;
 &lt;br /&gt;
 int n = NUM;&lt;br /&gt;
 int board[NUM][NUM] = {0,};&lt;br /&gt;
 &lt;br /&gt;
 void print()&lt;br /&gt;
 {&lt;br /&gt;
 	int i, j;&lt;br /&gt;
 	for (i=0; i&amp;amp;lt;n; i++) {&lt;br /&gt;
 		for (j=0; j&amp;amp;lt;n; j++) {&lt;br /&gt;
 			printf(&amp;quot;%d&amp;quot;, board[i][j]);&lt;br /&gt;
 			printf(&amp;quot; &amp;quot;);&lt;br /&gt;
 		}&lt;br /&gt;
 		printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int safe(int x, int y)&lt;br /&gt;
 {&lt;br /&gt;
 	int d;&lt;br /&gt;
 	int xx, yy;&lt;br /&gt;
 	int drct[8][2] = {{-1, -1}, {0, -1}, {1, -1}, {-1, 0}, {1, 0}, {-1, 1}, {0, 1}, {1, 1}};&lt;br /&gt;
 	if (board[x][y]) return 0;&lt;br /&gt;
 	for (d=0; d&amp;amp;lt;8; d++) {&lt;br /&gt;
 		xx = x + drct[d][0];&lt;br /&gt;
 		yy = y + drct[d][1];&lt;br /&gt;
 		while ((0&amp;amp;lt;=xx &amp;amp;amp;&amp;amp;amp; xx&amp;amp;lt;n) &amp;amp;amp;&amp;amp;amp; (0&amp;amp;lt;=yy &amp;amp;amp;&amp;amp;amp; yy&amp;amp;lt;n)) {&lt;br /&gt;
 			if (board[xx][yy]) return 0;&lt;br /&gt;
 			xx += drct[d][0];&lt;br /&gt;
 			yy += drct[d][1];&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	return 1;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int recur(int level)&lt;br /&gt;
 {&lt;br /&gt;
 	int i, j;&lt;br /&gt;
 	if (level == n) {&lt;br /&gt;
 		print();&lt;br /&gt;
 		return 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	else {&lt;br /&gt;
 		for (i=0; i&amp;amp;lt;n; i++) {&lt;br /&gt;
 			for (j=0; j&amp;amp;lt;n; j++) {&lt;br /&gt;
 				if (safe(i, j)) {&lt;br /&gt;
 					board[i][j] = 1;&lt;br /&gt;
 					if (recur(level+1))&lt;br /&gt;
 						return 1;&lt;br /&gt;
 					board[i][j] = 0;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		return 0;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	recur(0);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
모든 해를 출력하려면 recur 함수를 이렇게 고친다.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 void recur(int level)&lt;br /&gt;
 {&lt;br /&gt;
 	int i, j;&lt;br /&gt;
 	if (level == n) {&lt;br /&gt;
 		print();&lt;br /&gt;
 	}&lt;br /&gt;
 	else {&lt;br /&gt;
 		for (i=0; i&amp;amp;lt;n; i++) {&lt;br /&gt;
 			for (j=0; j&amp;amp;lt;n; j++) {&lt;br /&gt;
 				if (safe(i, j)) {&lt;br /&gt;
 					board[i][j] = 1;&lt;br /&gt;
 					recur(level+1);&lt;br /&gt;
 					board[i][j] = 0;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>