<?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=8queen%2F%EB%AC%B8%EC%9B%90%EB%AA%85</id>
	<title>8queen/문원명 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=8queen%2F%EB%AC%B8%EC%9B%90%EB%AA%85"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=8queen/%EB%AC%B8%EC%9B%90%EB%AA%85&amp;action=history"/>
	<updated>2026-05-15T06:58: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=8queen/%EB%AC%B8%EC%9B%90%EB%AA%85&amp;diff=26846&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:22, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=8queen/%EB%AC%B8%EC%9B%90%EB%AA%85&amp;diff=26846&amp;oldid=prev"/>
		<updated>2021-02-07T05:22:19Z</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;
----&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	int board[8][8];&lt;br /&gt;
 	int firstBoard[8][8];&lt;br /&gt;
 	int y2nd, x2nd, setx = 0;&lt;br /&gt;
 	int y3rd, same = 0;&lt;br /&gt;
 	int impossible = 0;&lt;br /&gt;
 	int y4th, x4th;&lt;br /&gt;
 	int y5th, x5th;&lt;br /&gt;
 	int y6th, x6th;&lt;br /&gt;
 	int y7th, x7th;&lt;br /&gt;
 	int findY, findX;&lt;br /&gt;
 	int originX, firstFind,firstAnswer = 1;&lt;br /&gt;
 	int endFind = 0, count = 0;&lt;br /&gt;
 	for(int y1st = 0 ; y1st &amp;amp;lt; 8 ; y1st++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int x1st = 0 ; x1st &amp;amp;lt; 8 ; x1st++)&lt;br /&gt;
 		{&lt;br /&gt;
 			board[x1st][y1st] = 0;&lt;br /&gt;
 			firstBoard[x1st][y1st] = 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	do					//맨 처음답과 같을때까지 찾기 반복&lt;br /&gt;
 	{&lt;br /&gt;
 		impossible = 0;&lt;br /&gt;
 		for(y2nd = 0 ; y2nd &amp;amp;lt; 8 ; y2nd++)	//행단위		&lt;br /&gt;
 		{&lt;br /&gt;
 			setx = 0;&lt;br /&gt;
 			firstFind = 1;&lt;br /&gt;
 			do								//열바꿔가며 가능한 자리 찾기&lt;br /&gt;
 			{&lt;br /&gt;
 				same = 0;			&lt;br /&gt;
 				x2nd = setx;&lt;br /&gt;
 				if(firstFind == 1) &lt;br /&gt;
 				{&lt;br /&gt;
 					originX = x2nd;&lt;br /&gt;
 					firstFind = 0;&lt;br /&gt;
 				}&lt;br /&gt;
 				board[y2nd][x2nd] = 1;&lt;br /&gt;
 				for(y3rd = 0 ; y3rd &amp;amp;lt; 8 ; y3rd)			//같은 열에 있는지 찾기  //수직검색&lt;br /&gt;
 				{&lt;br /&gt;
 					if (board[y3rd][x2nd] == board[y2nd][x2nd]) same = 1; &lt;br /&gt;
 				}&lt;br /&gt;
 				if (same == 0) //왼쪽위 대각선 검색&lt;br /&gt;
 				{&lt;br /&gt;
 					findY = y2nd - 1;&lt;br /&gt;
 					findX = x2nd - 1;&lt;br /&gt;
 					while( (findY != -1) &amp;amp;amp;&amp;amp;amp; (findX != -1))&lt;br /&gt;
 					{&lt;br /&gt;
 						if(board[findY][findX] == 1) same = 1;&lt;br /&gt;
 						findY -= 1;&lt;br /&gt;
 						findX -= 1;&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 				if (same == 0) //왼쪽아래 대각선 검색&lt;br /&gt;
 				{&lt;br /&gt;
 					findY = y2nd + 1;&lt;br /&gt;
 					findX = x2nd - 1;&lt;br /&gt;
 					while( (findY != 8) &amp;amp;amp;&amp;amp;amp; (findX != -1))&lt;br /&gt;
 					{&lt;br /&gt;
 						if(board[findY][findX] == 1) same = 1;&lt;br /&gt;
 						findY += 1;&lt;br /&gt;
 						findX -= 1;&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 				if (same == 0) //오른쪽위 대각선 검색&lt;br /&gt;
 				{&lt;br /&gt;
 					findY = y2nd - 1;&lt;br /&gt;
 					findX = x2nd + 1;&lt;br /&gt;
 					while( (findY != -1) &amp;amp;amp;&amp;amp;amp; (findX != 8))&lt;br /&gt;
 					{&lt;br /&gt;
 						if(board[findY][findX] == 1) same = 1;&lt;br /&gt;
 						findY -= 1;&lt;br /&gt;
 						findX += 1;&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 				if (same == 0) //오른쪽아래 대각선 검색&lt;br /&gt;
 				{&lt;br /&gt;
 					findY = y2nd + 1;&lt;br /&gt;
 					findX = x2nd + 1;&lt;br /&gt;
 					while( (findY != 8) &amp;amp;amp;&amp;amp;amp; (findX != 8))&lt;br /&gt;
 					{&lt;br /&gt;
 						if(board[findY][findX] == 1) same = 1;&lt;br /&gt;
 						findY += 1;&lt;br /&gt;
 						findX += 1;&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 &lt;br /&gt;
 				&lt;br /&gt;
 				if (same == 1)				//공격가능한 것이 있으면 초기화후 열바꾸기&lt;br /&gt;
 				{&lt;br /&gt;
 					board[y2nd][x2nd] = 0;&lt;br /&gt;
 					setx++;&lt;br /&gt;
 				}&lt;br /&gt;
 				if (setx == 8) setx = 0;&lt;br /&gt;
 &lt;br /&gt;
 				if (originX == setx )	impossible = 1;				//모든열이 불가능하면 나오기	&lt;br /&gt;
 				if (impossible == 1) break;&lt;br /&gt;
 			} while (same == 1);&lt;br /&gt;
 			if (impossible == 1) break;&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		if (firstAnswer == 0)	//처음 답과 같은지 조사	&lt;br /&gt;
 		{&lt;br /&gt;
 			for(y7th = 0 ; y7th &amp;amp;lt; 8 ; y7th++)&lt;br /&gt;
 			{&lt;br /&gt;
 				for(x7th = 0 ; x7th &amp;amp;lt; 8 ; x7th++)&lt;br /&gt;
 				{&lt;br /&gt;
 					if( firstBoard[y7th][x7th] != board[y7th][x7th]) count++; &lt;br /&gt;
 				}&lt;br /&gt;
 				&lt;br /&gt;
 			}&lt;br /&gt;
 			&lt;br /&gt;
 		}&lt;br /&gt;
 		if (count == 0) endFind = 1; //종료조건&lt;br /&gt;
 		else count = 0;&lt;br /&gt;
 		&lt;br /&gt;
 		if (impossible == 0)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (firstAnswer == 1) //처음답 저장&lt;br /&gt;
 			{&lt;br /&gt;
 				for(y6th = 0 ; y6th &amp;amp;lt; 8 ; y6th++)&lt;br /&gt;
 				{&lt;br /&gt;
 					for(x6th = 0 ; x6th &amp;amp;lt; 8 ; x6th++)&lt;br /&gt;
 					{&lt;br /&gt;
 						firstBoard[y6th][x6th] = board[y6th][x6th];&lt;br /&gt;
 					}&lt;br /&gt;
 				&lt;br /&gt;
 				}&lt;br /&gt;
 				firstAnswer = 0;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		if(endFind == 0)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (impossible == 0)&lt;br /&gt;
 			{&lt;br /&gt;
 				for(y4th = 0 ; y4th &amp;amp;lt; 8 ; y4th++) //답 출력&lt;br /&gt;
 				{&lt;br /&gt;
 					for(x4th = 0 ; x4th &amp;amp;lt; 8 ; x4th++)&lt;br /&gt;
 					{&lt;br /&gt;
 						cout&amp;amp;lt;&amp;amp;lt;&amp;quot;board[y3th][x4th]\t&amp;quot;;&lt;br /&gt;
 					}&lt;br /&gt;
 					cout&amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 				}&lt;br /&gt;
 				cout&amp;amp;lt;&amp;amp;lt;endl&amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 			}&lt;br /&gt;
 			for(y5th = 0 ; y5th &amp;amp;lt; 8 ; y5th++) //초기화&lt;br /&gt;
 			{&lt;br /&gt;
 				for(x5th = 0 ; x5th &amp;amp;lt; 8 ; x5th++)&lt;br /&gt;
 				{&lt;br /&gt;
 					board[x5th][y5th] = 0;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}while(endFind == 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>