关注
2、草原坝上滑梯
只能从上下左右侧移动
输入:行数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;
}
查看原帖
点赞 3
相关推荐
06-25 14:13
中山大学 热设计工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26届校招投递进展 #
30332次浏览 233人参与
# 小米提前批笔试难吗 #
33997次浏览 357人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
11787次浏览 127人参与
# 为了找工作你花了哪些钱? #
27736次浏览 262人参与
# 央国企投递记录 #
88035次浏览 1359人参与
# 神州信息工作体验 #
11576次浏览 56人参与
# 你觉得专业和学校哪个对薪资影响最大 #
61331次浏览 490人参与
# 设计人的面试记录 #
123380次浏览 1341人参与
# 来聊聊你目前的求职进展 #
634227次浏览 6745人参与
# 外包能不能当跳板? #
34379次浏览 220人参与
# 你今年的保底offer是哪家 #
118348次浏览 537人参与
# 烟草笔面经互助 #
16893次浏览 180人参与
# 大疆的机械笔试比去年难吗 #
72892次浏览 618人参与
# 打工人的精神状态 #
49534次浏览 858人参与
# 牛友们,签完三方你在忙什么? #
98220次浏览 852人参与
# 听到哪句话就代表面试稳了or挂了? #
170762次浏览 1369人参与
# 如何缓解入职前的焦虑 #
192364次浏览 1339人参与
# 研究所VS国企,该如何选 #
184846次浏览 1783人参与
# 你秋招想去哪些公司 #
22196次浏览 809人参与
# 担心入职之后被发现很菜怎么办 #
130800次浏览 775人参与
# 秋招结束之后的日子 #
75200次浏览 911人参与