用C++写一段动态规划的示例
时间: 2023-03-24 20:03:24 浏览: 132
条件的简化-C++动态规划
好的,以下是一段使用 C 语言实现的动态规划示例代码:
```c
#include <stdio.h>
int max(int a, int b) {
return a > b ? a : b;
}
int main() {
int n, m;
scanf("%d%d", &n, &m);
int dp[n + 1][m + 1];
for (int i = ; i <= n; i++) {
for (int j = ; j <= m; j++) {
if (i == || j == ) {
dp[i][j] = ;
} else {
int x;
scanf("%d", &x);
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + x;
}
}
}
printf("%d\n", dp[n][m]);
return ;
}
```
这段代码实现了一个二维数组的动态规划,其中 `dp[i][j]` 表示从左上角到 `(i, j)` 的最大值。在输入时,我们可以先输入 `n` 和 `m`,表示数组的大小,然后输入每个元素的值。最后输出 `dp[n][m]` 即可。
希望这个示例能够帮助你理解动态规划的思想和实现方式。
阅读全文