목록2048 (2)
N
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net DFS를 이용한 완전 탐색. 우선 N x N 크기의 보드를 만든 후 숫자를 저장한다. 이후 for문을 이용하여 상,하,좌,우로 움직이는데, 이를 dfs 함수로 한다. dfs 함수는 (방향, 보드, 움직인 횟수)를 매개변수로 넘겨준다. dfs() 우선 dfs 종료 조건을 정의한다. count == 5면 board를 순회하여 answer보다 큰 숫자를 갱신한 후 retur..
www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net deque를 이용. 모든 경우의 수를 검사해야 하기 때문에 brute force, dfs로 진행한다. 최대가 5번 이동이기 때문에 시간 초과는 걱정이 없다. 보드판, 현재 이동 횟수, 방향을 dfs 함수로 전달하면서 수행. 이중 for문을 이용해 방향에 따라 배열 접근을 다르게 해주면 된다. 위쪽 방향인 경우 위에서 아래로. 아래쪽 방향인 경우 아래에서 위로. 왼쪽 방향인 경우 왼쪽..