90分,最后一个点出错
查看原帖
90分,最后一个点出错
715774
Little_Andyyu楼主2022/10/20 20:40
#include<bits/stdc++.h>
int dx[5]={0,-1,0,1,0};
int dy[5]={0,0,1,0,-1};
long long v,w,f[100][100],j[100][100],k,x,y,_,q;
int s_ear_ch(int,int);
using namespace std;
int main()
{
	cin>>v>>w;
	q=0;
	for(int i=1;i<=v;i++){
		for(int a=1;a<=w;a++){
			cin>>f[i][a];
		}
	}
	for(int i=1;i<=v;i++){
		for(int a=1;a<=w;a++){
			_=s_ear_ch(i,a);
			j[i][a]=_;
			if(_>q)q=_;
		}
	}
	cout<<q;
	return 0;
}
int s_ear_ch(int a,int z)
{
	int i,t,temple,nx,ny;
	if(j[a][z]>0){
		return (j[a][z]);
	}t=1;
	for(int i=1;i<=4;i++){
		nx=a+dx[i];
		ny=z+dy[i];
		if((nx>=1)&&(nx<=v)&&(ny>=1)&&(ny<=w)&&(f[a][z]<f[nx][ny])){
			temple=s_ear_ch(nx,ny)+1;
			if(temple>t){
				t=temple;
			}
		}
	}
	j[a][z]=t;
	return t;
}
2022/10/20 20:40
加载中...