본문 바로가기
백준 알고리즘/다이나믹 프로그래밍

백준 11048번 C++

by paysmile 2019. 1. 18.

#include<iostream>

#include<cstring>

#include<algorithm>

using namespace std;


const int MAX = 1001;


int n, m;

int candy[MAX][MAX];

int ans[MAX][MAX];


int calcandynum() {


for (int i = 1; i <= n; i++) {

for (int j = 1; j <= m; j++) {

ans[i][j] = candy[i][j] + max(ans[i - 1][j],max(ans[i][j - 1], ans[i - 1][j - 1]));

}

}

return ans[n][m];

}


int main(void) {

cin >> n >> m;


memset(candy, 0, sizeof(candy));

memset(ans, 0, sizeof(ans));

for (int i = 1; i <= n; i++) {

for (int j = 1; j <= m; j++) {

cin >> candy[i][j];

ans[i][j] = candy[i][j];

}

}

cout << calcandynum() << endl;

}

'백준 알고리즘 > 다이나믹 프로그래밍' 카테고리의 다른 글

백준 11055번 C++  (0) 2019.01.21
백준 1699번 C++  (0) 2019.01.21
백준 2167번 C++  (0) 2019.01.17
백준 11057번 C++  (0) 2019.01.17
백준 9461번 C++  (0) 2019.01.17