RE求解,样例能过,望大神指导
#include<bits/stdc++.h>
using namespace std;
int a[10005][10005];
int h,z,n=0,MAX=0;
int dx[4]={0,0,-1,1};
int dy[4]={1,-1,0,0};
void dfs(int n,int x,int y){
if(MAX<n){
MAX=n;
}
for(int i=0;i<4;i++){
int xx=x+dx[i];
int yy=y+dy[i];
if(a[x][y]>a[xx][yy]&&xx<h&&xx>=0&&yy<z&&yy>=0){
n++;
dfs(n,xx,yy);
n--;
}
}
}
int main(){
scanf("%d %d",&h,&z);
for(int i=0;i<h;i++){
for(int j=0;j<z;j++){
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<h;i++){
for(int j=0;j<z;j++){
dfs(1,i,j);
}
}
printf("%d",MAX);
}