为求助,什么会MLE,过了5个
查看原帖
为求助,什么会MLE,过了5个
487314
15297517869a楼主2022/4/4 11:47
#include<iostream>
#include<algorithm>
using namespace std;
int tab[105][105];
int val[105][105];
int czx[]={0,0,1,-1};
int czy[]={1,-1,0,0};
int dfs(int ,int);
int row,col;
int res=0;
int main()
{
	cin>>row>>col;
	for(int i=1;i<=row;i++)
	{
		for(int j=1;j<=col;j++)
		{
			int a;
			cin>>a;
			tab[i][j]=a;
		}
	}
	
	for(int i=1;i<=row;i++)
		for(int j=1;j<=col;j++)
			if(val[i][j]==0)
				dfs(i,j);
	cout<<res<<endl;
	return 0;
}
int dfs(int m,int n)
{
	if(val[m][n]!=0)
		return val[m][n];
	int maxv=0;
	int xx,yy;
	for(int i=0;i<4;i++)
	{
		xx=m+czx[i];
		yy=n+czy[i];
		if(xx>=1&&xx<=row&&yy>=1&&yy<=col&&tab[m][n]>=tab[xx][yy])
		{
			maxv=max(maxv,dfs(xx,yy));
		}
	}
	maxv+=1;
	val[m][n]=maxv;
	res=max(res,val[m][n]);
	return maxv;
}
2022/4/4 11:47
加载中...