关注
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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如果春招能重来,我会___ #
25901次浏览 264人参与
# 有深度的简历长什么样? #
59897次浏览 764人参与
# 在爱玛,骑向未来 #
17532次浏览 359人参与
# 这个offer值得去吗? #
25937次浏览 199人参与
# 刚入职就____,这样正常吗? #
146311次浏览 702人参与
# 你会因为行情,降低找工作标准吗? #
39883次浏览 301人参与
# 联宝杯大学生创新大赛,你的技术值得产业级答案 #
48830次浏览 601人参与
# 美团笔试 #
988846次浏览 5810人参与
# 实习生的生存小技巧 #
36760次浏览 339人参与
# 找工作,你都让AI帮你做什么? #
34014次浏览 292人参与
# 秋招想进国企该如何准备 #
147025次浏览 689人参与
# 实习生活中那些难忘的瞬间 #
344976次浏览 3448人参与
# 你见过最离谱的招聘要求是什么? #
281418次浏览 1887人参与
# 记录我的毕业季 #
1816次浏览 57人参与
# 字节开奖 #
155750次浏览 746人参与
# 租房找室友 #
68465次浏览 251人参与
# 阿里求职进展汇总 #
532458次浏览 4308人参与
# 实习怎么做才有更好的产出 #
50550次浏览 464人参与
# 春招前还要继续实习吗? #
66460次浏览 326人参与
# 你被哪些公司挂了? #
193885次浏览 1049人参与
# 机械制造薪资爆料 #
2088333次浏览 11165人参与
# 面试常问题系列 #
307331次浏览 4797人参与