首页 > 学院 > 开发设计 > 正文

P1434 滑雪(记忆化搜索)

2019-11-11 04:26:22
字体:
来源:转载
供稿:网友
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<vector>using namespace std;int ans[200][200];int tall[200][200];int dx[]={0,1,-1,0,0};int dy[]={0,0,0,1,-1};int n,m;int dfs(int kx,int ky){ int x=1,nx,ny;// x=1; !! for(int i=1;i<=4;i++) { nx=kx+dx[i];ny=ky+dy[i]; if(nx<=n&&nx>=1&&ny>=1&&ny<=m) if(tall[kx][ky]>tall[nx][ny]) { if(ans[nx][ny]!=1) x=max(x,ans[nx][ny]+1); else x=max(x,dfs(nx,ny)+1); } } return ans[kx][ky]=x; }int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { scanf("%d",&tall[i][j]); ans[i][j]=1; } int ans2=-10; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { ans2=max(ans2,dfs(i,j)); } PRintf("%d",ans2); return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表