为什么会MLE??

P1434 [SHOI2002] 滑雪

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。。。

是有什么奇奇怪怪的错没查出来吗?


|