on my way

[GDSC Week4-3] 백준 11048번:: 이동하기 (C++) 본문

algorithm/C++

[GDSC Week4-3] 백준 11048번:: 이동하기 (C++)

wingbeat 2021. 10. 30. 02:58
반응형

* 생각한 아이디어 및 문제 풀이

 

 

* 코드

#include <iostream>
using namespace std;

int getMax(int n1, int n2, int n3){
    int max = 0;
    if (max < n1) max = n1;
    if (max < n2) max = n2;
    if (max < n3) max = n3;
    return max;
}

int main(){
    ios_base::sync_with_stdio(false); 
    cin.tie(0); cout.tie(0);
    
    int M, N, val, max;
    cin >> N >> M;
    
    int dp[1001][1001];
    
    for(int i=1; i<=N; i++){
        for(int j=1; j<=M; j++){
            cin >> val;
            max = getMax(dp[i-1][j-1], dp[i-1][j], dp[i][j-1]);
            dp[i][j] = max + val;
        }
    }
    cout << dp[N][M];
}

 

* 회고

 

 

* 문제 링크 : https://www.acmicpc.net/problem/11048

 

11048번: 이동하기

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

www.acmicpc.net

 

반응형