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函数您写的太毒瘤了