求调
查看原帖
求调
1085002
liuyelan楼主2025/1/17 15:41

废话不说,直接上代码:

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

int h[1010][1010],as[1010][1010];
int n,m,ans;

int dfs(int a,int b){
	int fx[4]={-1,0,0,1};
	int fy[4]={0,-1,1,0};
	int x=0,y=0;
	if(as[a][b]){
		return as[a][b];
	}
	for(int i=0;i<=3;i++){
        x=a+fx[i];
        y=b+fy[i];
        if(x>0&&x<=n&&y>0&&y<=m){
            if(h[a][b]>h[a][b]){
                as[a][b]=max(dfs(x,y)+1,as[a][b]);
			}
		}
    }
    return as[a][b];
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>h[i][j];
		}                    
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			as[i][j]=dfs(i,j);
			if(as[i][j]>ans){
				ans=as[i][j];
			}
		}
	}
	cout<<ans+1;
	return 0;
}

那个挥之不去的1啊...... 输入啥,都是

1

2025/1/17 15:41
加载中...