题目描述:https://pycoder.blog.csdn.net/article/details/124995734
动态规划
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main(void)
{
int M, N;
int dp[50][50] = {0};
scanf("%d %d", &M, &N);
int data;
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
scanf("%d", &data);
if (i == 0 && j == 0) {
dp[i][j] = data;
} else if (i == 0) {
dp[i][j] = dp[i][j - 1] + data;
} else if (j == 0) {
dp[i][j] = dp[i - 1][j] + data;
} else {
dp[i][j] = fmax(dp[i][j - 1], dp[i - 1][j]) + data;
}
}
}
printf("%d\n", dp[M-1][N-1]);
return 0;
}