感觉思路可以,但是只有10分,其他都WA掉了。。。

P1434 [SHOI2002] 滑雪

Terraria @ 2020-07-14 13:45:26

#include<bits/stdc++.h>
using namespace std;
int r,c,a[109][109],b=0,x,y,m=0,ans=0;
bool zouguo[109][109];
int dfs(int x,int y,int s){
    zouguo[x][y]=true;
    if(a[x][y]<a[x-1][y]&&!a[x-1][y]&&a[x][y]<a[x+1][y]&&!a[x+1][y]&&a[x][y]<a[x][y-1]&&!a[x][y-1]&&a[x][y]<a[x][y+1]&&!a[x][y+1]) return s;
    if(a[x][y]>a[x-1][y]&&!a[x-1][y]) dfs(x-1,y,s+1);
    if(a[x][y]>a[x+1][y]&&!a[x+1][y]) dfs(x+1,y,s+1);
    if(a[x][y]>a[x][y-1]&&!a[x][y-1]) dfs(x,y-1,s+1);
    if(a[x][y]>a[x][y+1]&&!a[x][y+1]) dfs(x,y+1,s+1);
}
int main(){
    cin>>r>>c;
    memset(zouguo,false,sizeof(zouguo));
    for(int i=1;i<=r;i++){
        for(int j=1;j<=c;j++){
            cin>>a[i][j];
        }
    }
    for(int i=1;i<=r;i++){
        for(int j=1;j<=c;j++){
            ans=max(dfs(i,j,0),ans);
        }
    }
    cout<<ans<<endl;
    return 0;
}

by Terraria @ 2020-07-14 13:52:24

关键也没有TLE,暴力深搜是可以的,记忆化其实我也会,只是想知道为什么这样不行(当然我还没试过)


by WanderingTrader @ 2020-07-14 13:58:43

暴力深搜是可以的

Orz


by Lwerecha @ 2020-07-14 14:30:27

记忆化一下,不然超时。


by 听取MLE声一片 @ 2020-07-14 14:31:37

码风清奇


by 听取MLE声一片 @ 2020-07-14 14:33:35

@黄耀风

已知:

1.暴力是不行的

2.其他都WA了

3.主程序看不出错

可推:

dfs函数您写的太毒瘤了


|