记忆化搜索TLE一个点求助DaLaos
查看原帖
记忆化搜索TLE一个点求助DaLaos
794579
Clay_L楼主2023/1/31 11:24

代码:

#include<bits/stdc++.h>
using namespace std;
int n,m,a[111][111],f[111][111],ans;
int dx[5]={-1,0,1,0,0},dy[5]={0,1,0,-1,0};
int dfsp(int x,int y)
{
	int t=f[x][y],xx,yy;
	if(t!=-1) return t;
	t=1;
	for(int i=0;i<4;i++)
	{
		xx=x+dx[i],yy=y+dy[i];
		if((xx<1||xx>n||yy<1||yy>m)||a[x][y]<=a[xx][yy]) continue;
		t=max(t,dfsp(xx,yy)+1);
	}
	return t;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>a[i][j],f[i][j]=-1;
	for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) ans=max(ans,dfsp(i,j));
	cout<<ans<<endl;
	return 0;
}
2023/1/31 11:24
加载中...