2 条题解
-
0
模拟即可
#include<bits/stdc++.h> using namespace std; int m,n,a[1001][1001],b[1001][1001],l; int search(int x,int y){ if(b[x][y])return b[x][y]; b[x][y]=1; if(a[x][y]>a[x][y+1]&&a[x][y+1])b[x][y]=max(b[x][y],1+search(x,y+1)); if(a[x][y]>a[x][y-1]&&a[x][y-1])b[x][y]=max(b[x][y],1+search(x,y-1)); if(a[x][y]>a[x+1][y]&&a[x+1][y])b[x][y]=max(b[x][y],1+search(x+1,y)); if(a[x][y]>a[x-1][y]&&a[x-1][y])b[x][y]=max(b[x][y],1+search(x-1,y)); return b[x][y]; } int main(){ cin>>m>>n; for(int i=1;i<=m;i++) for(int o=1;o<=n;o++)cin>>a[i][o]; for(int i=1;i<=m;i++) for(int o=1;o<=n;o++)search(i,o); for(int i=1;i<=m;i++) for(int o=1;o<=n;o++)l=max(l,b[i][o]); cout<<l; return 0; }
信息
- ID
- 1349
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 56
- 已通过
- 23
- 上传者