@[zhou125](/user/1041365) ```cpp
#include <iostream>
#include <vector>
#include <climits>
using namespace std;
const int MAXN = 1005;
int n, m;
int mp[MAXN][MAXN];
long long dp[MAXN][MAXN]; // dp[i][j] 表示到达 (i, j) 的最大整数和
long long dfs(int x, int y) {
if (x < 1 || x > n || y < 1 || y > m) return -INT_MAX; // 超出边界返回极小值
if (dp[x][y] != -1) return dp[x][y]; // 如果已经计算过,直接返回结果
// 尝试向下或向右走
long long res = mp[x][y];
res = max(res, dfs(x - 1, y)); // 向上走(对应原坐标的向下走)
res = max(res, dfs(x, y - 1)); // 向左走(对应原坐标的向右走)
dp[x][y] = res; // 记忆化存储结果
return res;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cin >> n >> m;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> mp[i][j];
dp[i][j] = -1; // 初始化为未计算
}
}
cout << dfs(n, m) << endl; // 从右下角开始搜索
return 0;
}
```
by renhongxu0308 @ 2024-05-04 19:40:23
```cpp
#include <iostream>
#include <vector>
#include <climits>
using namespace std;
const int MAXN = 1005;
int n, m;
int mp[MAXN][MAXN];
long long dp[MAXN][MAXN]; // dp[i][j] 表示到达 (i, j) 的最大整数和
long long dfs(int x, int y) {
if (x < 1 || x > n || y < 1 || y > m) return -INT_MAX; // 超出边界返回极小值
if (dp[x][y] != -1) return dp[x][y]; // 如果已经计算过,直接返回结果
// 尝试向下或向右走
long long res = mp[x][y];
res = max(res, dfs(x - 1, y)); // 向上走(对应原坐标的向下走)
res = max(res, dfs(x, y - 1)); // 向左走(对应原坐标的向右走)
dp[x][y] = res; // 记忆化存储结果
return res;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cin >> n >> m;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> mp[i][j];
dp[i][j] = -1; // 初始化为未计算
}
}
cout << dfs(n, m) << endl; // 从右下角开始搜索
return 0;
}
```
by yjz468 @ 2024-05-04 19:47:58
![](https://video.acwing.com/image/default/D2BEB3A75D64411CB84DB634838AA434-6-2.png?auth_key=1715817600-ac2837wing-0-b40e324c77417e376f6564e8b9ade595)
![](https://video.acwing.com/image/default/E4E5A0DC57984128A297A34744FB466A-6-2.png?auth_key=1715817600-ac2837wing-0-2f18e01177f1cb450aaa48ae22133486)
![](https://video.acwing.com/image/default/2588EE1C3EEF4EB1BA1918650D286018-6-2.gif?auth_key=1715817600-ac2837wing-0-05ac58c57493d9e00d98fbcefd420921)![](https://video.acwing.com/image/default/2588EE1C3EEF4EB1BA1918650D286018-6-2.gif?auth_key=1715817600-ac2837wing-0-05ac58c57493d9e00d98fbcefd420921)![](https://video.acwing.com/image/default/2588EE1C3EEF4EB1BA1918650D286018-6-2.gif?auth_key=1715817600-ac2837wing-0-05ac58c57493d9e00d98fbcefd420921)
by yjz468 @ 2024-05-04 19:55:12