haiwenhan @ 2019-10-18 16:25:33
RT
P1434 [SHOI2002]滑雪
蒟蒻的评测记录。。。
#include<iostream>
#include<cstdio>
using namespace std;
const int mx[5]={0,0,1,-1,0};
const int my[5]={1,-1,0,0,0};
int n,m;
int a[105][105],dp[105][105];
int nx,ny;
int dfs(int x,int y)
{
if(dp[x][y]!=1) return dp[x][y];
int i,ans=0;
for(i=0;i<4;i++)
{
nx=x+mx[i],ny=y+my[i];
if(nx<=0||ny<=0||nx>n||ny>m) continue;
if(a[x][y]<a[nx][ny]) continue;
ans=max(ans,dfs(nx,ny)+1);
}
return dp[x][y]=max(1,ans);
}
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int i,j;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
dp[i][j]=1;
}
int maxn=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
maxn=max(maxn,dfs(i,j));
cout<<maxn<<endl;
return 0;
}
然而,一直在MLE。。。
是有什么奇奇怪怪的错没查出来吗?