Notice
Recent Posts
Recent Comments
Link
«   2024/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
Tags
more
Archives
Today
Total
관리 메뉴

혼종 꼬지마루

[백준] 11048 - 이동하기 본문

Algorithms/DP

[백준] 11048 - 이동하기

꼬지마루 2018. 8. 29. 09:01

전형적인 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