혼종 꼬지마루
[백준] 11048 - 이동하기 본문
전형적인 DP문제
입력을 받으며 DP배열의 (r - 1, c), (r, c - 1), (r - 1, c - 1) 중 가장 큰값을 현재 입력되는 위치의 사탕개수를 더해주면 끝
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> #define MXSIZE 1002 #define MAX(X, Y) (X) > (Y) ? (X) : (Y) using namespace std; int map[MXSIZE][MXSIZE], dp[MXSIZE][MXSIZE]; int N, M; int main(void) { cin >> N >> M; for (int i = 1; i <= N; i++) for (int j = 1; j <= M; j++) { cin >> map[i][j]; dp[i][j] = MAX(dp[i - 1][j - 1], MAX(dp[i - 1][j], dp[i][j - 1])); dp[i][j] += map[i][j]; } cout << dp[N][M] << endl; return 0; } | cs |
'Algorithms > DP' 카테고리의 다른 글
[백준] 4095 - 최대 정사각형 (0) | 2019.05.05 |
---|---|
[백준] 15559 - 내 선물을 받아줘 (0) | 2019.04.13 |
[백준] 1520 - 내리막길 (0) | 2018.09.14 |
[백준] 9465 - 스티커 (0) | 2018.09.08 |
[백준] 15486 - 퇴사2 (7) | 2018.08.27 |