Algorithm 🧑🏻‍💻/백준(BOJ)

[백준,c++] 11048번 - 이동하기

dkswnkk 2021. 10. 26. 01:21

 

 

11048번: 이동하기

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

www.acmicpc.net


#include <iostream>
using namespace std;

int dp[1001][1001];
int arr[1001][1001];

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int n,m; cin>>n>>m;

    for(int i=0; i<n; i++){
        for(int k=0; k<m; k++){
            cin>>arr[i][k];
        }
    }
    dp[0][0]=arr[0][0];
    for(int i=0; i<n; i++){
        for(int k=0; k<m; k++){
            if(i==0&&k==0) continue;
            dp[i][k]=max(max(dp[i][k],dp[i-1][k]+arr[i][k]),max(dp[i][k-1]+arr[i][k],dp[i-1][k-1]+arr[i][k]));

        }
    }
    cout<<dp[n-1][m-1];
}