dp要注意dp数组的边界处理问题

多组数据注意要初始化dp数组

#include <bits/stdc++.h>
using namespace std;
int dp[101][101], a[101][101];
int T, R, C;
int main()
{
    cin >> T;
    while (T--)
    {
        memset(dp, 0, sizeof(dp));//保险一点,多组数据的时候初始化dp数组
        cin >> R >> C;
        for (int i = 1; i <= R; i++)
            for (int j = 1; j <= C; j++)
            {
                cin >> a[i][j];
            }
        for (int i = 1; i <= R; i++)
            for (int j = 1; j <= C; j++)
            {
                dp[i][j] = max(dp[i][j - 1] + a[i][j], dp[i - 1][j] + a[i][j]);
            }
        cout << dp[R][C] << endl;
    }
    return 0;
}
全部评论

相关推荐

程序员小白条:你不是有一段实习了吗,现在找中大厂实习?过段时间要秋招了
我的简历长这样
点赞 评论 收藏
分享
下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务