# include<iostream>
# include<cstdio>
# include<cmath>
# include<algorithm>
# include<cstring>
using namespace std;
const int MAX_N = 100;
int a[MAX_N+8][MAX_N+8];
int vis[MAX_N+8][MAX_N+8];
int dis[4][2] = {{0,1},{1,0},{0,-1},{-1,0}};
int r, c;
int search( int x, int y )
{
if ( vis[x][y] != -1 )
return vis[x][y];
int t = 0;
int nx, ny;
for ( int i = 0;i < 4;i++ )
{
nx = x + dis[i][0];
ny = y + dis[i][1];
if ( 0 <= nx&&nx < r&&0 <= ny&&ny < c&&a[x][y] > a[nx][ny] )
{
t = max( search( nx, ny ),t );
}
}
return vis[x][y] = t+1;
}
int main(void)
{
memset(vis,-1,sizeof(vis));
scanf("%d%d",&r,&c);
for ( int i = 0;i < r;i++ )
{
for ( int j = 0;j < c;j++ )
{
cin>>a[i][j];
}
}
int max = 0;
for ( int i = 0;i < r;i++ )
{
for ( int j = 0;j < c;j++ )
{
if ( max < search( i,j ))
max = search( i, j );
}
}
cout<<max;
return 0;
}
Tyvj 1004 滑雪(完整代码)
最新推荐文章于 2023-01-23 20:27:57 发布