记录编号 |
163721 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[UVa 10285] 最长滑坡 |
最终得分 |
100 |
用户昵称 |
forever |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.381 s |
提交时间 |
2015-05-25 16:47:01 |
内存使用 |
3.06 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,m,a[600][600],f[600][600];
int x[5]={0,-1,0,1,0};
int y[5]={0,0,1,0,-1};
int t;
int zhao(int,int);
int main()
{ freopen("shunzhi.in","r",stdin);
freopen("shunzhi.out","w",stdout);
int ans=0;
cin>>m>>n;
for(int i=1;i<=m;++i)
for(int j=1;j<=n;++j)
cin>>a[i][j];
for(int i=1;i<=m;++i)
for(int j=1;j<=n;++j)
{
t=zhao(i,j);
f[i][j]=t;
if(t>ans) ans=t;
}
cout<<ans;
//system("pause");
}
int zhao(int h,int hh)
{ int jk=1,temp=0;
if(f[h][hh]>0)
return f[h][hh];
for(int i=1;i<=4;++i)
{
int xx=h+x[i];
int yy=hh+y[i];
if(xx>=1&&xx<=m&&yy>=1&&yy<=n&&a[xx][yy]>a[h][hh])
{
temp=zhao(xx,yy)+1;
if(temp>jk) jk=temp;
}
}
f[h][hh]=jk;
return jk;
}