解题思路:
虽然是ioi的一道题

但特别简单
注意事项:
使用动态规划

从下往上遍历

核心代码:


dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+a[i][j];
//dp是动规数组,a是输入的数据


参考代码:


#include <bits/stdc++.h>
using namespace std;
int a[1001][1001];
int dp[1001][1001];
int main()
{
    int t;
    cin >> t;
    int n;
    while(t--)
    {
        cin >> n;
        memset(a,0,sizeof(a)); 
        memset(dp,0,sizeof(dp));
        for(int i = 1; i  a[i][j];
            for(int i = 1; i = 1; i--)
                for(int j = 1; j <= i; j++)
                    dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+a[i][j];
        cout << dp[1][1] << endl;
     }
    return 0;
}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区