求助,80分,第1和第10wa了

P1434 [SHOI2002] 滑雪

我的做法是记搜
by _Clown__ @ 2023-08-21 08:53:09


大致是这样: ```cpp int dfs(int x,int y){ if(dp[x][y])return dp[x][y]; dp[x][y]=1; for(int i=0;i<4;i++){ int tx=dx[i]+x,ty=dy[i]+y; if(tx>0&&ty>0&&tx<=n&&ty<=m&&h[x][y]>h[tx][ty]){ dfs(tx,ty); dp[x][y]=max(dp[x][y],dp[tx][ty]+1); } } return dp[x][y]; } int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%d",&h[i][j]); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) ans=max(ans,dfs(i,j)); ```
by _Clown__ @ 2023-08-21 08:53:52


@[dzxken](/user/799337) 您可以加一个记搜
by _Clown__ @ 2023-08-21 08:55:10


哈哈哈哈哈哈,我要笑死,虽然我和你一样的错误,但我还是要笑,题目只能上下左右,不能斜向走
by I_Love_QingYu @ 2023-12-11 21:23:33


|