728x90
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int candymap[1001][1001];
int check[1001][1001];
int main() {
int n;
int m;
cin >> n;
cin >> m;
memset(candymap, 0, sizeof(candymap));
memset(candymap, 0, sizeof(check));
for (int i = 1; i <= n; i++) {
for (int j = 1; j <=m; j++) {
cin >> candymap[i][j];
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <=m; j++) {
int res = max(check[i - 1][j - 1], max(check[i - 1][j], check[i][j - 1]));
check[i][j] = res + candymap[i][j];
}
}
cout << check[n][m] << endl;
return 0;
}
'백준 > 다이나믹 프로그래밍' 카테고리의 다른 글
평범한 배낭 (0) | 2021.02.17 |
---|---|
파일 합치기 (0) | 2021.01.22 |
1,2,3 더하기 4 (0) | 2021.01.21 |
팰린드롬? (0) | 2021.01.20 |
점프점프 (0) | 2021.01.19 |