Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
140318 林泽豪 滑雪 C++ 通过 100 0 MS 364 KB 680 2024-03-30 14:26:13

Tests(5/5):


#include<bits/stdc++.h> using namespace std; const int dx[4] = {-1,1,0,0}; //增量数组 const int dy[4] = {0,0,-1,1}; int f[1000][1000],lfs[1000][1000],n,m,maxn; int sb(int x,int y){ if(f[x][y]!=0)return f[x][y]; else{ for(int i=0;i<4;i++){ int nx=x+dx[i]; int ny=y+dy[i]; if(nx<=n&&nx>0&&ny>0&&ny<=m&&lfs[x][y]>lfs[nx][ny]){ f[x][y]=max(f[x][y],sb(nx,ny)+1); } } return f[x][y]; } } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>lfs[i][j]; } } for(int i=1;i<=n;i++){ for(int p=1;p<=m;p++)maxn=max(maxn,sb(i,p)); } cout<<maxn+1; }


测评信息: