求助

P1434 [SHOI2002] 滑雪

_TG_ @ 2023-07-16 21:32:31

请大佬帮忙挑挑错,本蒟蒻实在是挑不出来了。


#include<bits/stdc++.h>
using namespace std;

int n,m,a[105][105],f[105][105];
int dx[4]={0,0,1,-1},dy[4]={1,-1,0,0},xx,yy;
int dfs(int x,int y){
    if(f[x][y])return f[x][y];
    f[x][y]=1;
    for(int k=0;k<4;k++){
        xx=x+dx[k];
        yy=y+dy[k];
        if(xx>0&&xx<=n&&yy>0&&yy<=m){
            if(a[x][y]>a[xx][yy]){
                dfs(xx,yy);
                f[x][y]=max(f[x][y],f[xx][yy]+1);   
            }
        }
    }
    return f[x][y];

}
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
        }
    }
    int ans=-1;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            ans=max(ans,dfs(i,j));
        }
    }
    cout<<ans;
    return 0;
}

by _TG_ @ 2023-07-20 09:41:22

有人吗


|