<?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=RandomWalk%2F%EC%9D%80%EC%A7%80</id>
	<title>RandomWalk/은지 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=RandomWalk%2F%EC%9D%80%EC%A7%80"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=RandomWalk/%EC%9D%80%EC%A7%80&amp;action=history"/>
	<updated>2026-05-14T15:58:47Z</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=RandomWalk/%EC%9D%80%EC%A7%80&amp;diff=38352&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:27, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=RandomWalk/%EC%9D%80%EC%A7%80&amp;diff=38352&amp;oldid=prev"/>
		<updated>2021-02-07T05:27:51Z</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; #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;ctime&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 void move(int dir);&lt;br /&gt;
 int check_all(int);&lt;br /&gt;
 void display(int);&lt;br /&gt;
 &lt;br /&gt;
 int **walk;&lt;br /&gt;
 int **check;&lt;br /&gt;
 &lt;br /&gt;
 int row, col;&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int size, i, j;&lt;br /&gt;
 	int end , direct ;&lt;br /&gt;
 	&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;=random walk problem= \n&amp;quot;;&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;배열 크기 입력 : &amp;quot;  ;&lt;br /&gt;
 	cin &amp;amp;gt;&amp;amp;gt; size;&lt;br /&gt;
 &lt;br /&gt;
 	//동적 배열로 walk판 만듬  &lt;br /&gt;
 	walk = new int *[size+2];&lt;br /&gt;
 	for (i=0; i&amp;amp;lt;size+2; i++)&lt;br /&gt;
 		walk[i] = new int[size+2];&lt;br /&gt;
 &lt;br /&gt;
 	//동적배열로 check판 만듬 &lt;br /&gt;
 	check = new int *[size+2];&lt;br /&gt;
 	for (i=0; i&amp;amp;lt;size+2; i++)&lt;br /&gt;
 		 check[i] = new int[size+2];&lt;br /&gt;
 &lt;br /&gt;
 	//배열 초기화 &lt;br /&gt;
 	for(i=0; i&amp;amp;lt;size+2; i++)&lt;br /&gt;
 		for(j=0; j&amp;amp;lt;size+2; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (i==0 || i==size+1 || j==0 || j==size+1)&lt;br /&gt;
 				walk[i][j] = -1;&lt;br /&gt;
 			else&lt;br /&gt;
 				walk[i][j] = 0;&lt;br /&gt;
 &lt;br /&gt;
 			check[i][j] = 0;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	srand(time(0));&lt;br /&gt;
 	row = (rand() % size)+1;&lt;br /&gt;
 	col = (rand() % size)+1;&lt;br /&gt;
 		&lt;br /&gt;
 	do{&lt;br /&gt;
 				&lt;br /&gt;
 		direct = rand() % 8;		//방향 결정 &lt;br /&gt;
 &lt;br /&gt;
 		 move(direct);	                  //결정된 방향으로 움직임&lt;br /&gt;
 		 end = check_all(size);		//모든 판을 다 갔는지 체크 &lt;br /&gt;
 &lt;br /&gt;
 	}while(!end);&lt;br /&gt;
 &lt;br /&gt;
 	//결과 출력 &lt;br /&gt;
 	display(size);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int check_all(int size)&lt;br /&gt;
 {&lt;br /&gt;
 	int sum =0;&lt;br /&gt;
 	&lt;br /&gt;
 	for(int i=0; i&amp;amp;lt;size+2; i++)&lt;br /&gt;
 		for(int j=0; j&amp;amp;lt;size+2; j++)&lt;br /&gt;
 			sum += check[i][j];&lt;br /&gt;
 &lt;br /&gt;
 	if(sum == size*size)&lt;br /&gt;
 		return 1;&lt;br /&gt;
 	else&lt;br /&gt;
 		return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 void move(int dir)&lt;br /&gt;
 {&lt;br /&gt;
 	switch(dir)&lt;br /&gt;
 	{&lt;br /&gt;
 		case 0 : if (walk[row-1][col] != -1)&lt;br /&gt;
 				 {&lt;br /&gt;
 					 row--;&lt;br /&gt;
 					 walk[row][col]++;&lt;br /&gt;
 					check[row][col] = 1;&lt;br /&gt;
 &lt;br /&gt;
 				 }&lt;br /&gt;
 &lt;br /&gt;
 			break;&lt;br /&gt;
 		case 1 : if (walk[row-1][col+1] != -1) &lt;br /&gt;
 				 {&lt;br /&gt;
 					 row--; col++;&lt;br /&gt;
 					walk[row][col]++;&lt;br /&gt;
 					check[row][col] = 1;&lt;br /&gt;
  &lt;br /&gt;
 				 }&lt;br /&gt;
 			break;&lt;br /&gt;
 &lt;br /&gt;
 		case 2 :if (walk[row][col+1] != -1)&lt;br /&gt;
 				{&lt;br /&gt;
 					col++;&lt;br /&gt;
 					walk[row][col]++;&lt;br /&gt;
 					check[row][col] = 1;&lt;br /&gt;
 				}&lt;br /&gt;
 			break;&lt;br /&gt;
 		case 3 : if (walk[row+1][col+1] != -1)&lt;br /&gt;
 				 {&lt;br /&gt;
 					 row++; col++;&lt;br /&gt;
 					walk[row][col]++;&lt;br /&gt;
 					check[row][col] = 1;&lt;br /&gt;
 				 }&lt;br /&gt;
 &lt;br /&gt;
 			break;&lt;br /&gt;
 		&lt;br /&gt;
 		case 4: if (walk[row+1][col] != -1) &lt;br /&gt;
 				{&lt;br /&gt;
 					row++;&lt;br /&gt;
 					walk[row][col]++;&lt;br /&gt;
 					check[row][col] = 1;				&lt;br /&gt;
 				}&lt;br /&gt;
 &lt;br /&gt;
 			break;&lt;br /&gt;
 		case 5 : if (walk[row+1][col-1] != -1) &lt;br /&gt;
 				 {&lt;br /&gt;
 					 row++; col--;&lt;br /&gt;
 					walk[row][col]++;&lt;br /&gt;
 					check[row][col] = 1; &lt;br /&gt;
 				 }&lt;br /&gt;
 			break;&lt;br /&gt;
 		case 6 : if (walk[row][col-1] != -1) &lt;br /&gt;
 				 {&lt;br /&gt;
 					 col--;&lt;br /&gt;
 					walk[row][col]++;&lt;br /&gt;
 					check[row][col] = 1;&lt;br /&gt;
 					&lt;br /&gt;
 					 &lt;br /&gt;
 				 }&lt;br /&gt;
 			break;&lt;br /&gt;
 		case 7 : if (walk[row-1][col-1] != -1) &lt;br /&gt;
 				 {&lt;br /&gt;
 					 row--; col--;&lt;br /&gt;
 					 walk[row][col]++;&lt;br /&gt;
 					check[row][col] = 1;				 }&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 	&lt;br /&gt;
 void display(int size)&lt;br /&gt;
 {&lt;br /&gt;
 	int count = 0;&lt;br /&gt;
 &lt;br /&gt;
 	for(int i=1; i&amp;amp;lt;size+1; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=1; j&amp;amp;lt;size+1; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; walk[i][j] &amp;amp;lt;&amp;amp;lt; &amp;quot;\t&amp;quot;;&lt;br /&gt;
 			count += walk[i][j];&lt;br /&gt;
 &lt;br /&gt;
 		}&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt;&amp;quot;\n&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;총 움직인 횟수 : &amp;quot;  &amp;amp;lt;&amp;amp;lt; count &amp;amp;lt;&amp;amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
음..방향을 배열루 입력시키믄 switch문을 길게 안써두 되는군..&lt;br /&gt;
그리구 check판이 없어두 끝나는걸 알 수 있을꺼 같다.&lt;br /&gt;
고쳐야지..&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[RandomWalk]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>