现在的位置: 首页 > 综合 > 正文

Tyvj 1004 滑雪(完整代码)

2018年04月29日 ⁄ 综合 ⁄ 共 652字 ⁄ 字号 评论关闭
# 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;
}


















抱歉!评论已关闭.