蒟蒻求助 60pts

P1434 [SHOI2002] 滑雪

ykc1146187241 @ 2023-07-05 10:58:06

第6,8,9,10点报错,没有测试集也不知道错哪了

#include<iostream>
#include <algorithm>
using namespace std;
class altitude{
public:
    int row;
    int column;
    int height;
};
int main() {
int r,c;
cin>>r>>c;
altitude dp[10005];
int res[101][101]={};
int k=0;
for(int i=0;i<r;i++){
    for(int j=0;j<c;j++){
        cin>>dp[k].height;
        dp[k].row=i+1;
        dp[k].column=j+1;
        k++;
    }
}
for(int i=0;i<k;i++){
    for(int j=i-1;j>=0;j--){
        if(dp[j].height>dp[j+1].height){
            altitude temp;
            temp=dp[j];
            dp[j]=dp[j+1];
            dp[j+1]=temp;
        }
    }
}

    res[dp[0].row][dp[0].column]=1;
for(int i=0;i<k;i++){
    res[dp[i].row][dp[i].column]=max(max(res[dp[i].row-1][dp[i].column],res[dp[i].row+1][dp[i].column]),max(res[dp[i].row][dp[i].column-1],res[dp[i].row][dp[i].column+1]))+1;
}
int max1=0;
for(int i=1;i<=r;i++){
    for(int j=1;j<=c;j++){
    if(max1<res[i][j])
        max1=res[i][j];
    }
}
cout<<max1;
}

|