LevOJ P1029 滑雪

news/2025/1/12 12:14:02/

题目描述

小明喜欢滑雪,为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。小明想知道在一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:

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 更长。事实上,这是最长的一条.

输入描述

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

输出描述

输出最长区域的长度.

样例输入

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

样例输出

25

AC代码

#include<iostream>
using namespace std;
//二维数组存图
int arr[110][110];
int r, c;
int ans = 0;
//深搜
//根据题意,只能从高处向低处滑,并且可以选择四个方向
//要寻找到最长的那条路径,那么我们可以对所有点都深搜依次,然后比较出最长的那一条
//主义不要越界
//深搜传的条件为当前点的横纵坐标以及当前的路径长度
void dfs(int i,int j,int path)
{//向上滑if (arr[i][j] > arr[i - 1][j] && i-1>=1){//如果可以滑到(i-1,j),我们就对(i-1,j)继续深搜dfs(i - 1, j, path + 1);}//向右滑if (arr[i][j] > arr[i][j + 1] && j+1<=c){dfs(i, j + 1, path + 1);}//向下滑if (arr[i][j] > arr[i + 1][j] && i+1<=r){dfs(i + 1, j, path + 1);}//向左滑if (arr[i][j] > arr[i][j - 1] && j-1>=1){dfs(i, j - 1, path + 1);}//比较得出最长路径ans = max(ans, path);return;
}
int main()
{cin >> r >> c;int i, j;for (i = 1; i <= r; i++){for (j = 1; j <= c; j++){cin >> arr[i][j];}}int maxnum = -99999;//对每个点都进行一次深搜,然后得出最长路径for (i = 1; i <= r; i++){for (j = 1; j <= c; j++){dfs(i, j, 1);}}cout << ans << endl;return 0;
}

在这里插入图片描述
如果有好的方法,欢迎提出!


http://www.ppmy.cn/news/242084.html

相关文章

卡尔曼滤波简约版

卡尔曼滤波简约版 在上一篇博文中翻译了国外博主对于卡尔曼滤波解释的文章, 并在其中做了一些备注. 从阅读难度上来看是简单了, 但是内容看起来就很繁琐, 不利于快速查阅. 因此, 我又将卡尔曼滤波中重要的公式重新整理做了简约版. 如果你对卡尔曼滤波算法是一个小白, 刚接触, …

【算法系列】卡尔曼滤波算法

系列文章目录 【算法系列】卡尔曼滤波算法 【算法系列】非线性最小二乘求解-直接求解法 【算法系列】非线性最小二乘求解-梯度下降法 【算法系列】非线性最小二乘-高斯牛顿法 【算法系列】非线性最小二乘-列文伯格马夸尔和狗腿算法 文章目录 系列文章 文章目录 前言 …

卡尔曼滤波系列——(四)无损卡尔曼滤波

1 简介 无损卡尔曼滤波又称无迹卡尔曼滤波&#xff08;Unscented Kalman Filter&#xff0c;UKF&#xff09;&#xff0c;是无损变换&#xff08;Unscented Transform&#xff0c;UT&#xff09;与标准卡尔曼滤波体系的结合&#xff0c;通过UT变换使非线性系统方程适用于线性假…

卡尔曼滤波(Kalman filter)算法以及Arduino应用-mpu6050(导航贴)

正在更新中。。。 这篇文章要跟大家一起完全搞明白卡尔曼滤波&#xff0c;连一个标点符号也不放过&#xff0c;完完全全理解明白。 如果你看不懂&#xff0c;那说明我写的不好。 本文是看了dr_con博士的视频后做的&#xff0c;建议可以去看看。 如果哪里写的不对&#xff0…

卡尔曼滤波系列——(一)标准卡尔曼滤波

更新日志&#xff1a; 2020.03.20&#xff1a;修改了部分内容的表述方式&#xff0c;重做了实验并给出相应结果&#xff0c;补充了矩阵迹的求导公式&#xff1b; 2020.09.24&#xff1a;修改了推导中第四个公式的符号错误&#xff0c;第k时刻预测值应由上一时刻的估计结果推出…

【CANN训练营机器狗系列】安装ROS环境及初体验

环境 操作系统&#xff1a;Ubuntu 20.04 CPU&#xff1a;Intel Xeon Gold 6278C CPU 2.60GHz 内存&#xff1a;16GB 准备环境 Ubuntu与ROS版本对应关系 UbuntuROS 1.0ROS2.016.04 LTSKinetic LTSArdent18.04 LTSMelodic LTSDashing LTS120.04 LTSNoetic LTSFoxy LTS 安装…

2023 开放原子全球开源峰会“开发者之夜”高能剧透!

开发者之夜~即将高燃启动 最潮&#xff01;最嗨&#xff01;最青春&#xff01; 肆意&#xff01;亲切&#xff01;嗨 FUN 派&#xff01; 这是一场面向开发者的线下狂欢&#xff01; 也是一场精心准备的答谢盛宴&#xff01; 更是一场开源圈的老友聚会&#xff01; 开发者之夜…

移动端图形API通讲(一)--从Gles、Vulkan到Metal

转载请注明&#xff0c;来自leonnwei的csdn blog 引言 一直想整理下关于移动端图形编程API的文档。图形API为何重要&#xff1f;如果说图形编程的内功是计算机图形学的诸原理和算法&#xff0c;那么外功就是实实在在的硬件API。不能精通API的使用&#xff0c;就无法把渲染特性合…