Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- iptables
- packet filter
- ioctl
- mvwin
- NAPT
- C언어
- 취약점
- wnourefresh
- packet flow
- REDIS
- edge trigger
- rfc5508
- epoll
- vtable
- BOF
- .nret core 배포
- DOCKER-USER
- 어셈블리어
- architecture
- wrefresh
- level trigger
- LOB
- Docker
- ncurses
- Compiler
- .net core 7
- 풀이
- cbpf
- doupdate
- epoll_wait
Archives
- Today
- Total
Tuuna Computer Science
[안드로이드 게임]텐트와 나무 게임 알고리즘 분석해보기(머리로 풀지 말고 컴퓨터로 풀자) 본문
플레이 스토어 검색도중에 재밋는 게임을 발견했고 풀어볼려다가 파이썬이나 C로 이 게임을 풀어보려한다.
일단 게임의 전반적인 규칙은 NxN의 배열판이 있고 행과 열에 적힌 숫자는 각 행과 열에 둘 수 있는 텐트의 값이다.
그리고 나무가 존재하는데 텐트는 무조건 나무기준으로 바로 옆에 위치해야 한다.
그리고 남는 공간에는 잔디를 두어야 한다.
이 게임의 공략 소스는 나중에 짜도록하고
어떠한 식으로 만들어야 할지 글로만 끄적여 볼것이다.
나무옆에 텐트 알고리즘
나무 : 3
땅 : 0
잔디 : 1
텐트 : 2
일단 먼저 행과 열의 번호에 0이 있다면 그 자리는 잔디로 다 밀어버린다. 단 나무자리는 보호
그러면 배열판은 0과 1 그리고 3으로 이루어져 있다.
이 배열판을 복사한다. tmp배열로
나무의 위치를 잡고 대각선에만 잔디를 둔다. (나무의 위치 검색)
나머지 남은 땅에는 행의 숫자를 다 더하고, 땅의 개수를 (땅의 개수C텐트 개수) 계산한다.
그리고 그 만큼 반복문을 돌리는데 중요한건 텐트를 하나 하나 놓다가 만약 텐트를 놓는 자리의 동서남북에 나무가 없다면 또는 텐트가 있다면 다음 경우의 수로 이동한다.
그리고 나온 배열판을 통해 게임을 해결해보자.
코드는 나중에 시간날 때 ㅎ
'C language' 카테고리의 다른 글
container_of & offsetof 매크로 분석 (0) | 2019.04.03 |
---|---|
[C 언어] fgets함수 분석과, stdin 모험 (0) | 2019.03.31 |
시저암호 암호화 복호화 소스 (0) | 2018.11.02 |
[C Language] 배열없이 문자열의 빈도수 구하기 (0) | 2018.10.26 |
배열을 대상으로 만든 여러 사용자 정의 함수 (헤더파일 제작) (0) | 2018.10.26 |
Comments