<?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%A0%95%EC%88%98%EB%AF%BC</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%A0%95%EC%88%98%EB%AF%BC"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=EightQueenProblem/%EC%A0%95%EC%88%98%EB%AF%BC&amp;action=history"/>
	<updated>2026-05-15T01:37:53Z</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%A0%95%EC%88%98%EB%AF%BC&amp;diff=31545&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%A0%95%EC%88%98%EB%AF%BC&amp;diff=31545&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:12Z</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;
생각처럼 깔끔하게 나오진 않는군요 -_-;;&lt;br /&gt;
&lt;br /&gt;
C++로 만들어서 이거 -_-; 해더파일도 라인수에 포함돼는건가 =0=&lt;br /&gt;
&lt;br /&gt;
음음 다 합쳐서 96 + 21 + 15 라인이군요 -_-!&lt;br /&gt;
&lt;br /&gt;
시간남으시면 지적해주세요;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 이걸론;; 두번째 문제를 수행하기에 에로사항이 꼽히는군요 -_-;; .................결국 못풀었슴미다. ㅠㅠ&lt;br /&gt;
&lt;br /&gt;
== 소스 ==&lt;br /&gt;
= EightQueenProblem.h =&lt;br /&gt;
 #ifndef EIGHTQUEENPROBLEM_H_&lt;br /&gt;
 #define EIGHTQUEENPROBLEM_H_&lt;br /&gt;
 &lt;br /&gt;
 class EightQueenProblem&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
     int chess[8][8];			//체스판&lt;br /&gt;
 	int x,y;					&lt;br /&gt;
 	bool ContraryQueen();		//퀸들을 늘려가는함수&lt;br /&gt;
 	bool SearchMap();			//체스판에 0(빈공간)이 남아있는지를 검색&lt;br /&gt;
 	void SketchMap();			//체스판에 1(공격가능지역)과2(퀸이있는자리)를 체움&lt;br /&gt;
 	void reset();				//체스판에 0이 남아있지 않을때 초기화&lt;br /&gt;
 &lt;br /&gt;
 public:&lt;br /&gt;
 	EightQueenProblem();		&lt;br /&gt;
 	void MakeQueen();			//퀸을 늘려가기 시작하는 함수&lt;br /&gt;
 	void PrintMap();			//결과 출력&lt;br /&gt;
 &lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
= EightQueenProblem.cpp =&lt;br /&gt;
 //////////////////////////////////////////////////////////////////////////&lt;br /&gt;
 //																		//&lt;br /&gt;
 //	EightQueenProblem 이라는 문제를 풀이한 소스코드						//&lt;br /&gt;
 //	일시 2006/04/17 7:17 ~ 2006/04/17 10:24								//&lt;br /&gt;
 //	마지막 수정한 날자 2006/04/07										//&lt;br /&gt;
 //	만든이 : 정수민														//&lt;br /&gt;
 //																		/&lt;br /&gt;
 ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;quot;EightQueenProblem.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 EightQueenProblem::EightQueenProblem () {&lt;br /&gt;
 	reset ();&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void EightQueenProblem::MakeQueen () {&lt;br /&gt;
 	x=rand()%8;&lt;br /&gt;
 	y=rand()%8;&lt;br /&gt;
 	while ( 1 ) {&lt;br /&gt;
 		if ( ContraryQueen () == 0 ) {		//0은 다음단계로 1은 리셋&lt;br /&gt;
 			break;&lt;br /&gt;
 		}&lt;br /&gt;
 		reset ();&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool EightQueenProblem::ContraryQueen () {&lt;br /&gt;
 	for (int i = 0 ; i &amp;amp;lt; 8 ; i++ ) {&lt;br /&gt;
 		if ( SearchMap () == 1 ) {			//진행이 가능한지 불가능한지 추척&lt;br /&gt;
 			return 1;&lt;br /&gt;
 		}&lt;br /&gt;
 		while ( 1 ) {&lt;br /&gt;
 			x = rand()%8;&lt;br /&gt;
 			y = rand()%8;&lt;br /&gt;
 			if ( chess[x][y] == 0 ) {&lt;br /&gt;
 				break;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		chess[x][y] = 2;					//결과에 하자가 없을시 퀸을 놓는다.&lt;br /&gt;
 		SketchMap ();&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void EightQueenProblem::SketchMap () {&lt;br /&gt;
 	int i,j;&lt;br /&gt;
 	for (i = 0 ; i &amp;amp;lt; 8 ; i++ ) {&lt;br /&gt;
 		if (chess[x][i] != 2) {&lt;br /&gt;
 			chess[x][i] = 1;&lt;br /&gt;
 		}&lt;br /&gt;
 		if (chess[i][y] != 2) {&lt;br /&gt;
 			chess[i][y] = 1;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	for (i = 0 ; i &amp;amp;lt; 8 ; i++ ) {&lt;br /&gt;
 		for (j = 0 ; j &amp;amp;lt; 8 ; j++ ) {&lt;br /&gt;
 			if ( (x-y) == (i-j) &amp;amp;amp;&amp;amp;amp; chess[i][j] != 2) {&lt;br /&gt;
 				chess[i][j] = 1;&lt;br /&gt;
 			}&lt;br /&gt;
 			if ( (x+y) == (i+j) &amp;amp;amp;&amp;amp;amp; chess[i][j] != 2) {&lt;br /&gt;
 				chess[i][j] = 1;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool EightQueenProblem::SearchMap () {&lt;br /&gt;
 	for (int i = 0 ; i &amp;amp;lt; 8 ; i++ ) {&lt;br /&gt;
 		for (int j = 0 ; j &amp;amp;lt; 8 ; j++ ) {&lt;br /&gt;
 			if ( chess[i][j] == 0 ) {&lt;br /&gt;
 				return 0;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	return 1;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void EightQueenProblem::reset () {&lt;br /&gt;
 	for (int i = 0 ; i &amp;amp;lt; 8 ; i++ ) {&lt;br /&gt;
 		for (int j = 0 ; j &amp;amp;lt; 8 ; j++ ) {&lt;br /&gt;
 			chess[i][j] = 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void EightQueenProblem::PrintMap () {&lt;br /&gt;
 	for (int i = 0 ; i &amp;amp;lt; 8 ; i++ ) {&lt;br /&gt;
 		for (int j = 0 ; j &amp;amp;lt; 8 ; j++ ) {&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; chess[i][j] &amp;amp;lt;&amp;amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
 		}&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
= tast.cpp =&lt;br /&gt;
 #include &amp;quot;EightQueenProblem.h&amp;quot;&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;time.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	srand((unsigned)time(NULL)); &lt;br /&gt;
 &lt;br /&gt;
     EightQueenProblem test;&lt;br /&gt;
 	test.MakeQueen();&lt;br /&gt;
 	test.PrintMap();&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[EightQueenProblem]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>