为什么2种写法得分不一样!
查看原帖
为什么2种写法得分不一样!
421080
only_matthew楼主2021/10/10 16:40

“我从那里来”得分33

#include<cstdio>
#include<algorithm>
const int MAXN=1000+5;
int dp[MAXN][MAXN],w[MAXN][MAXN],r;
int main(){
    scanf("%d",&r);
    for(int i=1;i<=r;i++)
        for(int j=1;j<=i;j++)
            scanf("%d",&w[i][j]);
    for(int i=1;i<=r;i++){
        for(int j=1;j<=i;j++){
           dp[i][j]=w[i][j]+std::max(dp[i-1][j],dp[i-1][j-1]);
        }
    }
    printf("%d",dp[r][r]);
    return 0;
}

“我到那里去”AC

#include<cstdio>
#include<algorithm>
const int MAXN=1000+5;
int dp[MAXN][MAXN],w[MAXN][MAXN],r;
int main(){
    scanf("%d",&r);
    for(int i=1;i<=r;i++)
        for(int j=1;j<=i;j++)
            scanf("%d",&w[i][j]);
    for(int i=r;i>0;i--){
        for(int j=1;j<=i;j++){
           dp[i][j]=w[i][j]+std::max(dp[i+1][j],dp[i+1][j+1]);
        }
    }
    printf("%d",dp[1][1]);
    return 0;
}

2021/10/10 16:40
加载中...