佬们看看,实在看不出来问题

P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

seasonl @ 2023-03-15 11:59:54

#include<bits/stdc++.h>

using namespace std;

int main(){
    int n;
    int N=1010;
    int maxn=-1;
    cin>>n;
    int f[N][N];
    int F[N][N];
    for(int i=0;i<n;i++){
        for(int j=0;j<=i;j++){
            cin>>f[i][j];
        }
    }
    F[0][0]=f[0][0];
    for(int i=1;i<n;i++){
        F[i][0]=F[i-1][0]+f[i][0];
    }
    for(int i=1;i<n;i++){
        for(int j=1;j<=i;j++){
            F[i][j]=max(F[i-1][j],F[i-1][j-1])+f[i][j];//从上方和左上选 
            if(maxn<F[i][j]) maxn=F[i][j];
        }
    }
    cout<< maxn;

    return 0;
}

by sidekick257 @ 2023-03-15 12:29:11

你定义就有问题,建议重修


by sidekick257 @ 2023-03-15 12:30:25

修改后代码


by sidekick257 @ 2023-03-15 12:30:32

@702675516xz


by seasonl @ 2023-03-15 12:43:33

@sidekick257 哈哈哈哈谢谢大佬没仔细学过C++


by seasonl @ 2023-03-15 12:45:16

@sidekick257 佬还是89分怎么搞


by sidekick257 @ 2023-03-15 12:47:23

@702675516xz j从0开始循环


by sidekick257 @ 2023-03-15 12:47:43

@702675516xz 还有就是这个大F数组完全可以删掉的


by sidekick257 @ 2023-03-15 12:51:30

你从0开始再判一下越界


by seasonl @ 2023-03-15 12:58:57

@sidekick257 明白了佬终于过了


|