Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

RandomWalk/신진영: Difference between revisions

From ZeroWiki
(Repair MoniWiki formatting after migration)
(Repair MoniWiki formatting after migration)
 
(3 intermediate revisions by the same user not shown)
Line 9: Line 9:
  int i=0, j=0, row=0, col=0;
  int i=0, j=0, row=0, col=0;
  int count=1, direction=0, walk=0;
  int count=1, direction=0, walk=0;
  int land[12][12];
  int land[12][12];
  for(i=0; i<12; i++) // 벽 (〓)
  for(i=0; i<12; i++) // 벽 (〓)
  {
  {
  land[i][0] = -1;
  land[i][0] = -1;
  land[i][11] = -1;
  land[i][11] = -1;
  }
  }
   
   
  for(j=0; j<12; j++) // 벽 (||)
  for(j=0; j<12; j++) // 벽 (||)
  {
  {
  land[0][j] = -1;
  land[0][j] = -1;
  land[11][j] = -1;
  land[11][j] = -1;
  }
  }
   
   
Line 26: Line 26:
  for(j=1; j<11; j++)
  for(j=1; j<11; j++)
  {
  {
  land[i][j] = 0;
  land[i][j] = 0;
  }
  }
  }
  }
Line 33: Line 33:
  row = rand() % 10 + 1;
  row = rand() % 10 + 1;
  col = rand() % 10 + 1;
  col = rand() % 10 + 1;
  land[row][col]++; // 임의의 첫째점
  land[row][col]++; // 임의의 첫째점
   
   
  while(count != 0)
  while(count != 0)
Line 41: Line 41:
  switch(direction)
  switch(direction)
  {
  {
  case 1: if(land[row-1][col-1] != -1) // ↖ 방향 이동
  case 1: if(land[row-1][col-1] != -1) // ↖ 방향 이동
  {
  {
  land[--row][--col]++;
  land[--row][--col]++;
  walk++;
  walk++;
  break;
  break;
  }
  }
   
   
  case 2: if(land[row-1][col] != -1) // ↑ 방향 이동
  case 2: if(land[row-1][col] != -1) // ↑ 방향 이동
  {
  {
  land[--row][col]++;
  land[--row][col]++;
  walk++;
  walk++;
  break;
  break;
  }
  }
   
   
  case 3: if(land[row-1][col+1] != -1) // ↗ 방향 이동
  case 3: if(land[row-1][col+1] != -1) // ↗ 방향 이동
  {
  {
  land[--row][++col]++;
  land[--row][++col]++;
  walk++;
  walk++;
  break;
  break;
  }
  }
   
   
  case 4: if(land[row][col-1] != -1) // ← 방향 이동
  case 4: if(land[row][col-1] != -1) // ← 방향 이동
  {
  {
  land[row][--col]++;
  land[row][--col]++;
  walk++;
  walk++;
  break;
  break;
  }
  }
   
   
  case 5: if(land[row][col+1] != -1) // → 방향 이동
  case 5: if(land[row][col+1] != -1) // → 방향 이동
  {
  {
  land[row][++col]++;
  land[row][++col]++;
  walk++;
  walk++;
  break;
  break;
  }
  }
   
   
  case 6: if(land[row+1][col-1] != -1) // ↙ 방향 이동
  case 6: if(land[row+1][col-1] != -1) // ↙ 방향 이동
  {
  {
  land[++row][--col]++;
  land[++row][--col]++;
  walk++;
  walk++;
  break;
  break;
  }
  }
   
   
  case 7: if(land[row+1][col] != -1) // ↓ 방향 이동
  case 7: if(land[row+1][col] != -1) // ↓ 방향 이동
  {
  {
  land[++row][col]++;
  land[++row][col]++;
  walk++;
  walk++;
  break;
  break;
  }
  }
   
   
  case 8: if(land[row+1][col+1] != -1) // ↘ 방향 이동
  case 8: if(land[row+1][col+1] != -1) // ↘ 방향 이동
  {
  {
  land[++row][++col]++;
  land[++row][++col]++;
  walk++;
  walk++;
  break;
  break;
Line 102: Line 102:
  for(j=1; j<11; j++)
  for(j=1; j<11; j++)
  {
  {
  if(land[i][j] == 0)
  if(land[i][j] == 0)
  {
  {
  count++;
  count++;
Line 108: Line 108:
  }
  }
  }
  }
  if(land[i][j] == 0)
  if(land[i][j] == 0)
  {
  {
  count++;
  count++;
Line 127: Line 127:
  cout << "... 헥헥..;;;\n히, 힘들다...  ;□;" << endl;
  cout << "... 헥헥..;;;\n히, 힘들다...  ;□;" << endl;
  else
  else
  cout << "슈~~\n꽤애애애액[[User:Maintenance script|Maintenance script]] ([[User talk:Maintenance script|talk]]) 14:01, 26 March 2026 (UTC)!! =□=;;;" << endl;
  cout << "슈~~\n꽤애애애액[[User:Maintenance script|Maintenance script]] ([[User talk:Maintenance script|talk]]) 00:34, 29 March 2026 (UTC)!! =□=;;;" << endl;
   
   
  for(i=1; i<11; i++)
  for(i=1; i<11; i++)
  {
  {
  for(j=1; j<11; j++)
  for(j=1; j<11; j++)
  cout << land[i][j] << "\t";
  cout << land[i][j] << "\t";
  cout << "\n";
  cout << "\n";
  }
  }
Line 143: Line 143:
  {
  {
  for(j=1; j<11; j++)
  for(j=1; j<11; j++)
  cout << land[i][j] << "\t";
  cout << land[i][j] << "\t";
  cout << "\n";
  cout << "\n";
  }
  }

Latest revision as of 00:34, 29 March 2026

이쁘게 구현하려고 노력했습니다....;; -ㅅ-a

#include <iostream>
#include <ctime>
using namespace std;

int main()
{
	int i=0, j=0, row=0, col=0;
	int count=1, direction=0, walk=0;
	int land[12][12];
	for(i=0; i<12; i++)						// 벽 (〓)
	{
		land[i][0] = -1;
		land[i][11] = -1;
	}

	for(j=0; j<12; j++)						// 벽 (||)
	{
		land[0][j] = -1;
		land[11][j] = -1;
	}

	for(i=1; i<11; i++)						// 10 X 10 행렬
	{
		for(j=1; j<11; j++)
		{
			land[i][j] = 0;
		}
	}

	srand((time(0)));						// 랜덤
	row = rand() % 10 + 1;
	col = rand() % 10 + 1;
	land[row][col]++;						// 임의의 첫째점

	while(count != 0)
	{
		count = 0;
		direction = rand() % 8 + 1;
		switch(direction)
		{
		case 1: if(land[row-1][col-1] != -1)	// ↖ 방향 이동
				{
					land[--row][--col]++;
					walk++;
					break;
				}

		case 2: if(land[row-1][col] != -1)		// ↑ 방향 이동
				{
					land[--row][col]++;
					walk++;
					break;
				}

		case 3: if(land[row-1][col+1] != -1)	// ↗ 방향 이동
				{
					land[--row][++col]++;
					walk++;
					break;
				}

		case 4:	if(land[row][col-1] != -1)		// ← 방향 이동
				{
					land[row][--col]++;
					walk++;
					break;
				}

		case 5: if(land[row][col+1] != -1)		// → 방향 이동
				{
					land[row][++col]++;
					walk++;
					break;
				}

		case 6: if(land[row+1][col-1] != -1)	// ↙ 방향 이동
				{
					land[++row][--col]++;
					walk++;
					break;
				}

		case 7: if(land[row+1][col] != -1)		// ↓ 방향 이동
				{
					land[++row][col]++;
					walk++;
					break;
				}

		case 8: if(land[row+1][col+1] != -1)	// ↘ 방향 이동
				{
					land[++row][++col]++;
					walk++;
					break;
				}
		}

		for(i=1; i<11; i++)
		{
			for(j=1; j<11; j++)
			{
				if(land[i][j] == 0)
				{
					count++;
					break;
				}
			}
			if(land[i][j] == 0)
			{
				count++;
				break;
			}
		}

		cout << "지금까지 " << walk << " 걸음 걸었";
		if(walk >= 0 && walk <= 200)
			cout << "다.\n이 정도 쯤이야! 풉!" << endl;
		else if(walk > 200 && walk <= 400)
			cout << "다...\n점점 압박이..." << endl;
		else if(walk > 400 && walk <= 600)
			cout << "네....;;\n숨이 가빠오는군...;" << endl;
		else if(walk > 600 && walk <= 800)
			cout << "구운.......;;\n언제 쯤 끝나려나...?" << endl;
		else if(walk > 800 && walk <= 1000)
			cout << "... 헥헥..;;;\n히, 힘들다...  ;□;" << endl;
		else
			cout << "슈~~\n꽤애애애액Maintenance script (talk) 00:34, 29 March 2026 (UTC)!! =□=;;;" << endl;

		for(i=1; i<11; i++)
		{
			for(j=1; j<11; j++)
				cout << land[i][j] << "\t";
			cout << "\n";
		}

		system("cls");
	}

	cout << "결국 " << walk << " 걸음으로 모든 곳을 갈 수 있었다... 쿨럭;;\n\n";
	for(i=1; i<11; i++)
	{
		for(j=1; j<11; j++)
			cout << land[i][j] << "\t";
		cout << "\n";
	}

	return 0;
}




From. 申 君...


RandomWalk