zoukankan      html  css  js  c++  java
  • 18 滑雪 dp-4

    Description

    每到冬天,信息学院的张健老师总爱到二龙山去滑雪,喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。张老师想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。

    Input

    输入的第一行表示区域的行数R和列数C(1 <= R,C <= 100)。下面是R行,每行有C个整数,代表高度h,0<=h<=10000。

    Output

    输出最长区域的长度。

    Sample Input

    5 5
    1 2 3 4 5
    16 17 18 19 6
    15 24 25 20 7
    14 23 22 21 8
    13 12 11 10 9
    一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,
    一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。
    事实上,这是最长的一条。

    Sample Output

    25
     1 #include <iostream>
     2 #include <cstring>
     3 using namespace std;
     4 int data[200][200],ans[200][200];
     5 int h,l,answ;
     6 int find(int i,int j)
     7 {
     8     int max1,max2;
     9     int max_up=0,max_down=0,max_left=0,max_right=0;//注意要负初值
    10     if(ans[i][j]>0) return ans[i][j];
    11     if(i-1>=1&&data[i][j]>data[i-1][j])
    12     max_up=find(i-1,j);//up
    13     if(i+1<=h&&data[i][j]>data[i+1][j])
    14     max_down=find(i+1,j);//down
    15     if(j-1>=1&&data[i][j]>data[i][j-1])
    16     max_left=find(i,j-1);//left
    17     if(j+1<=l&&data[i][j]>data[i][j+1])
    18     max_right=find(i,j+1);//right
    19     max1=max(max_up,max_down);
    20     max2=max(max_left,max_right);
    21     ans[i][j]=max(max1,max2)+1;
    22     return ans[i][j];
    23 
    24 }
    25 int main()
    26 {
    27     cin>>h>>l;
    28     memset(ans,0,sizeof(ans));
    29     for(int i=1;i<=h;i++)
    30     for(int j=1;j<=l;j++)
    31     cin>>data[i][j];
    32     for(int i=1;i<=h;i++)//这一步必须有
    33     for(int j=1;j<=l;j++)
    34     answ=find(i,j);
    35     for(int i=1;i<=h;i++)
    36     for(int j=1;j<=l;j++)
    37     answ=max(answ,ans[i][j]);
    38     cout<<answ<<endl;
    39     return 0;
    40 }
    View Code
  • 相关阅读:
    WPF自定义控件
    NPOI设置Excel单元格字体、边框、对齐、背景色
    关于StreamReader.ReadToEnd方法
    ASP.NET Core Web多语言项目
    docker与虚拟机的区别
    C# Task.Run 和 Task.Factory.StartNew 区别
    MVC的SignalR例子
    深圳游玩攻略
    一个域名下多个Vue项目
    Linq的执行效率及优化
  • 原文地址:https://www.cnblogs.com/wang-ya-wei/p/5388721.html
Copyright © 2011-2022 走看看