40pts(样例没过)求调
查看原帖
40pts(样例没过)求调
659165
mysterys楼主2023/2/11 12:03

RTRT,代码如下:

#include<bits/stdc++.h>
using namespace std;
int dx[5]={0,-1,0,1,0},dy[5]={0,0,1,0,-1};
long r,c,i,j,p,t,ans;
long m[101][101],f[101][101];
int search(int x,int y)
{
	int i,t,tmp,nx,ny;
	if(f[x][y]>0)
	{
		return (f[x][y]);
	}
	t=1;
	for(i=1;i<=4;i++)
	{
		nx=x+dx[i];
		ny=y+dy[i];
		if((nx>=1)&&(nx<=r)&&(ny>=1)&&(ny<=c)&&(m[x][y]<m[nx][ny]))
		{
			tmp=search(nx,ny)+1;
			if(tmp>t) t=tmp;
		}
		f[x][y]=t;
		return (t);
	}
}
int main()
{
	cin>>r>>c;
	ans=0;
	for(i=1;i<=r;i++)
		for(j=1;j<=c;j++)
			cin>>m[i][j];
	for(i=1;i<=r;i++)
	{
		for(j=1;j<=c;j++)
		{
			t=search(i,j);
			f[i][j]=t;
			if(t>ans) ans=t;
		}
	}
	cout<<ans;
	return 0;
}
2023/2/11 12:03
加载中...