티스토리 뷰

PS

백준 11048. 이동하기

tose33 2022. 3. 14. 13:36

https://www.acmicpc.net/problem/11048

 

11048번: 이동하기

준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는

www.acmicpc.net

 

프로그래머스에서 푼 카카오 기출중에 거의 같은 문제가 있었는데 제목이 기억이 안난다.

현재 위치 (r,c)에서 오른쪽, 아래, 대각선 아래 로만 움직일수 있으므로 왔던 길을 되돌아 갈 수는 없다.

 

dp로 푸는데 각 칸을 왼쪽에서 오른쪽으로 현재 칸으로 왔을때와, 위에서 아래로 내려와 현재칸으로 왔을때를 나눈다.

이동은 대각선 아래로도 할 수 있지만 생각해보면 딱히 이동할수 없는 위치가 있는것도 아니고 최소횟수로 이동해야 하는것도 아니기 때문에 대각선 아래로 이동하는 것은 아래로 가는것과 오른쪽으로 가는 경우에 포함된다고 볼 수 있다.

 

점화식은 

d[0][i][j] = max(d[0][i][j-1] + a[i][j], d[1][i][j-1] + a[i][j]) 

d[1][i][j] = max(d[0][i-1][j] + a[i][j], d[1][i-1][j] + a[i][j]) 

 

(d[0]은 왼쪽에서 오른쪽으로 온 경우, d[1]은 위에서 아래로 온경우)

 

 

 

'PS' 카테고리의 다른 글

백준 1890. 점프  (0) 2022.03.15
백준 2133. 타일 채우기  (0) 2022.03.14
백준 2436. 공약수  (0) 2022.03.13
백준 5430. AC  (0) 2022.03.12
백준 3190. 뱀  (0) 2022.03.12
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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 31
글 보관함