社区讨论

为什么2种写法得分不一样!

P1216[IOI 1994 / USACO1.5] 数字三角形 Number Triangles参与者 4已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lobm8hum
此快照首次捕获于
2023/10/29 23:18
2 年前
此快照最后确认于
2023/11/04 04:09
2 年前
查看原帖
“我从那里来”得分33
CPP
#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
CPP
#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;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...