竞赛讨论区 > 求解纠错
头像
CUMT-徐子康
发布于 2019-07-25 23:30
+ 关注

求解纠错

//向大佬求解
//我的代码错在哪里
#include<iostream>
#include<cstring>
//dp
int a[5000][5000]={0};
int dp[5000][5000]={0};
using namespace std;
int main()
{
    int n;
    cin>>n;
    
    for(int i=0;i<5000;i++)
    {
        for(int j=0;j<5000;j++)
        {
            a[i][j]=dp[i][j]=-9999999999;
        }
    }
    for(int i=1;i<=2*n-1;i++)
    {
        if(i<=n)
        {
            for(int j=1;j<=n+i-1;j++)
            {
                cin>>a[i][j];
                
            }
        }
        else if(i>n)
        {
            for(int j=i-n+1;j<=2*n-1;j++)
            {
                cin>>a[i][j];
                
            }
        }
    }
    for(int j=1;j<=2*n-1;j++)
    {
        for(int i=1;i<=2*n-1;i++)
        {
            if(i==1&&j==1)
            {
                dp[1][1]=a[1][1];
                continue;
            }
            
            if(a[i][j]>-9999999)
            {
                dp[i][j]=a[i][j]+max(dp[i-1][j-1],max(dp[i-1][j],dp[i][j-1]));
            }
        }
    }
    cout<<dp[2*n-1][2*n-1]<<endl;
    
 }

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐