当前位置:   article > 正文

AcWing 901. 滑雪 -- 记忆化搜索

AcWing 901. 滑雪 -- 记忆化搜索

  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4. const int N=310;
  5. int s[N][N],f[N][N];
  6. int v1[4]={1,0,-1,0},v2[4]={0,1,0,-1};
  7. int r,c;
  8. int dp(int i,int j)
  9. {
  10. int &v=f[i][j];
  11. if(v!=-1) return v;
  12. v=1;
  13. for(int k=0;k<4;k++)
  14. {
  15. int a=i+v1[k],b=j+v2[k];
  16. if(a>=0&&a<=r-1&&b>=0&&b<=c-1&&s[i][j]>s[a][b])
  17. {
  18. v=max(v,dp(a,b)+1);
  19. }
  20. }
  21. return v;
  22. }
  23. int main()
  24. {
  25. cin>>r>>c;
  26. memset(f,-1,sizeof(f));
  27. for(int i=0;i<r;i++)
  28. {
  29. for(int j=0;j<c;j++) cin>>s[i][j];
  30. }
  31. int res=0;
  32. for(int i=0;i<r;i++)
  33. {
  34. for(int j=0;j<c;j++)
  35. {
  36. res=max(res,dp(i,j));
  37. }
  38. }
  39. cout<<res;
  40. return 0;
  41. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/1003367
推荐阅读
相关标签
  

闽ICP备14008679号