关注
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
相关推荐
牛客热帖
更多
正在热议
更多
# 春招 / 实习投递,你最焦虑的一件事 #
5303次浏览 70人参与
# HR问:你期望的薪资是多少?如何回答 #
80168次浏览 680人参与
# 神州信息求职进展汇总 #
4745次浏览 74人参与
# 今年找实习到底有多难? #
2800次浏览 31人参与
# 27届求职交流 #
21876次浏览 432人参与
# 今天你投了哪些公司? #
4039次浏览 101人参与
# 26届求职交流 #
11031次浏览 297人参与
# 工作丧失热情的瞬间 #
366815次浏览 2557人参与
# 快手求职进展汇总 #
737748次浏览 7115人参与
# 双非能在秋招上岸吗? #
378322次浏览 1875人参与
# 国企/银行/研究所公司爆料 #
195216次浏览 900人参与
# 三月的小目标 #
32162次浏览 601人参与
# 实习要如何选择和准备? #
147903次浏览 1569人参与
# 交出你的校招焚诀 #
22662次浏览 340人参与
# 听劝,这个公司值得去吗 #
678986次浏览 2000人参与
# 求职遇到的搞笑事件 #
165415次浏览 902人参与
# 面试___岗的必刷题单 #
25282次浏览 460人参与
# 哪些公司开暑期实习了? #
41315次浏览 331人参与
# 面试中,你被问过哪些奇葩问题? #
89110次浏览 851人参与
# 你觉得mentor喜欢什么样的实习生 #
51858次浏览 1011人参与
# 24秋招避雷总结 #
954174次浏览 7052人参与