80分代码求助

P1434 [SHOI2002] 滑雪

```c @[bengyy](/user/750955) #include<iostream> #include<cstdio> using namespace std; int n,m,ma=0; int a[101][101],s[101][101],mx; bool f[101][101]; int fxszx[]={0,0,1,-1}; int fxszy[]={1,-1,0,0}; int dfs(int dx,int dy) { if(s[dx][dy]) { return s[dx][dy]; } s[dx][dy]=1; for(int i=0;i<4;i++) { int x=dx+fxszx[i]; int y=dy+fxszy[i]; if(x<1||y>m||x>n||y<1)continue; if(a[x][y]>a[dx][dy]) { dfs(x,y); s[dx][dy]=max(s[dx][dy],s[x][y]+1); } } return s[dx][dy]; } int main() { cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%d",&a[i][j]); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { mx=max(mx,dfs(i,j)); } cout<<mx; return 0; } ```
by Jim777 @ 2022-08-26 09:25:38


@[Jim777](/user/697153) 深搜会不会超时啊,我用广搜总是有一两个WA
by bengyy @ 2022-08-26 09:55:34


这是记忆化搜索诶兄弟
by LYM20114 @ 2022-08-27 21:21:04


广搜会TLE
by LYM20114 @ 2022-08-27 21:21:26


@[LYM2011](/user/531776) 是我菜了,不熟练(虽然但是,优化后的广搜不会TLE)
by bengyy @ 2022-09-07 10:51:21


|