Tuuna Computer Science

[안드로이드 게임]텐트와 나무 게임 알고리즘 분석해보기(머리로 풀지 말고 컴퓨터로 풀자) 본문

C language

[안드로이드 게임]텐트와 나무 게임 알고리즘 분석해보기(머리로 풀지 말고 컴퓨터로 풀자)

GuTTe 2018. 11. 25. 15:54

플레이 스토어 검색도중에 재밋는 게임을 발견했고 풀어볼려다가 파이썬이나 C로 이 게임을 풀어보려한다.



일단 게임의 전반적인 규칙은 NxN의 배열판이 있고 행과 열에 적힌 숫자는 각 행과 열에 둘 수 있는 텐트의 값이다.


그리고 나무가 존재하는데 텐트는 무조건 나무기준으로 바로 옆에 위치해야 한다.


그리고 남는 공간에는 잔디를 두어야 한다.


이 게임의 공략 소스는 나중에 짜도록하고 


어떠한 식으로 만들어야 할지 글로만 끄적여 볼것이다.




나무옆에 텐트 알고리즘

나무 : 3
땅 : 0
잔디 : 1
텐트 : 2

일단 먼저 행과 열의 번호에 0이 있다면 그 자리는 잔디로 다 밀어버린다. 단 나무자리는 보호

그러면 배열판은 0과 1 그리고 3으로 이루어져 있다.

이 배열판을 복사한다. tmp배열로

나무의 위치를 잡고 대각선에만 잔디를 둔다. (나무의 위치 검색)

나머지 남은 땅에는 행의 숫자를 다 더하고, 땅의 개수를 (땅의 개수C텐트 개수) 계산한다.

그리고 그 만큼 반복문을 돌리는데 중요한건 텐트를 하나 하나 놓다가 만약 텐트를 놓는 자리의 동서남북에 나무가 없다면 또는 텐트가 있다면 다음 경우의 수로 이동한다.


그리고 나온 배열판을 통해 게임을 해결해보자.


코드는 나중에 시간날 때 ㅎ

Comments