草原坝上滑梯

原创 2016年08月28日 22:25:45

草原坝上滑梯
只能从上下左右侧移动
输入:行数R 列数C
输出:最长区域的长度
样例:
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
输出:25

#include <iostream>
#include <algorithm>

using namespace std;

int r;//行
int c;//列
int a[1000][100];//输入矩阵
int result[1000][1000];//输出矩阵

//递归思想:分别求出上下左右方向的最大长度
int maxLength(int  i, int j)
{
    int left = j - 1;
    int right = j + 1;
    int high = i - 1;
    int low = i + 1;

    int left_value;
    int right_value;
    int high_value;
    int low_value;

    //左侧最大长度
    if (left >= 0 && a[i][left] < a[i][j])
        left_value = maxLength(i, left) + 1;
    else
        left_value = 0;

    //右侧最大长度
    if (right <= c - 1 && a[i][right] < a[i][j])
        right_value = maxLength(i, right) + 1;
    else
        right_value = 0;

    //上侧最大长度
    if (high >= 0 && a[high][j] < a[i][j])
        high_value = maxLength(high, j) + 1;
    else
        high_value = 0;

    //下侧最大长度
    if (low <= r - 1 && a[low][j] < a[i][j])
        low_value = maxLength(low, j) + 1;
    else
        low_value = 0;

    int max1 = max(high_value, low_value);
    int max2 = max(left_value, right_value);
    return max(max1, max2);
}

int main()
{
    while (cin >> r >> c)
    {
        //初始化矩阵
        for (int i = 0; i < r; i++)
            for (int j = 0; j < c; j++)
                cin >> a[i][j];
        //计算每一个位置的最大长度
        for (int i = 0; i < r; i++)
            for (int j = 0; j < c; j++)
                result[i][j] = maxLength(i, j);
        //寻找所有位置中最大的长度
        int maxLen = 0;
        for (int i = 0; i < r; i++)
        {
            for (int j = 0; j < c; j++)
                if (result[i][j] > maxLen)
                    maxLen = result[i][j];
        }
        cout << maxLen + 1 << endl;
    }

    system("pause");
    return 0;
}
版权声明:更多请参考:http://blog.csdn.net/yangquanhui1991,我们一起每天进步一点点!

沙漠变成了草原你该怎么办?

1)重构环境,比如java,ant,sdk需要重新下载,安装,使用。在构建过程中,这个资源在另一个环境是没法重用的,其结果就是一堆垃圾。如何暂时这个环境无法改变,剩下就是等待,厚积博发。 推而广之:在...
  • xiongmc
  • xiongmc
  • 2014年07月05日 18:45
  • 1027

坝上草原-碰碰车

很多次都下定决心要写博客,有关技能,学习,分享,生活,成长,感悟,之前每次都没坚持下来。  借口很多,工作忙没时间,知识储备不够。  终究就是太懒的缘故。  从今天起,再次下定决心坚持写博客。 ...
  • wu_zhuojun
  • wu_zhuojun
  • 2016年06月30日 22:57
  • 150

坝上草原行

时间:2009-9-5~2009-9-6路线:北京-河北丰宁坝上草原天气:阴天,小雨气候:凉,冷...
  • ruanxiaozi
  • ruanxiaozi
  • 2009年09月09日 10:03
  • 1433

五一七人坝上草原行

很早就和凯同学约好一起出去玩玩,这不五一三天短假,几个人不谋而合想到了出行。到放假前一天,去哪儿到成了个问题,近郊一定被北京人安排得人满为患了;再远一些地地方时间又怕不够,商量来商量去还是打算来个两日...
  • jery_lee
  • jery_lee
  • 2008年05月04日 23:40
  • 3531

7月29日坝上草原

7月29日坝上草原,先传几张图,以后有空再慢慢说....                                     坝上草原的早晨1                           ...
  • EricLee00
  • EricLee00
  • 2007年07月30日 00:30
  • 4311

7月29日坝上草原

7月29日坝上草原,先传几张图,以后有空再慢慢说....                                     坝上草原的早晨1                           ...
  • hejishan
  • hejishan
  • 2007年12月18日 03:25
  • 824

坝上草原扎拉营游感

  上周六日,也就是8.25出发公司部门一起去京北第一大草原-扎拉营,坝上草原旅游,似乎我的感悟与旅游本身无关,现总结如下: 1.贫困是罪恶之源,有财富才能更加自由;2.学会生活,学会思考,学会学习别...
  • lijunit
  • lijunit
  • 2007年08月27日 11:08
  • 1579

坝上

ZT 坝上草原 坝上草原   “坝上”是一地理名词,...
  • utopia_wang
  • utopia_wang
  • 2007年10月10日 12:56
  • 2701

带宝宝滑滑梯的方法

宝宝还小当去滑滑梯时需要父母的陪同,需要父母一些正确的引导。   1、 宝宝能摇摇晃晃走路的时候,爸爸妈妈可带宝宝玩低矮、平缓的滑梯。妈妈双手扶在宝宝腋下,帮助宝宝攀爬到滑梯上部,鼓励宝宝往下滑(爸...
  • seo789654
  • seo789654
  • 2015年02月04日 17:20
  • 10

new与malloc比较,QQ农场与大草原?

前几天看到微信群里有人在讨论new与malloc的不同之处,看到有人说malloc不如new,细细看他所列举的为什么new比malloc好的原因,感觉很有道理,但是转念一想,突然间我又觉得语言这种东西...
  • Loving_Forever_
  • Loving_Forever_
  • 2016年06月04日 10:11
  • 2923
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:草原坝上滑梯
举报原因:
原因补充:

(最多只允许输入30个字)