hrbust1179下山

来源:互联网 发布:美国大学地理位置知乎 编辑:程序博客网 时间:2024/05/01 01:39

1.题目:

Description

下面的矩阵可以想象成鸟瞰一座山,矩阵内的数据可以想象成山的高度。

可以从任意一点开始下山。每一步的都可以朝“上下左右”4个方向行走,前提是下一步所在的点比当前所在点的数值小。

例如处在18这个点上,可以向上、向左移动,而不能向右、向下移动。

 1  2  3  4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9问题是,对于这种的矩阵,请计算出最长的下山路径。对于上面所给出的矩阵,最长路径为25-24-23-22-21-20-19-18-17-16-15-14-13-12-11-10-9-8-7-6-5-4-3-2-1,应输出结果25。
Input

输入包括多组测试用例。

对于每个用例,第一行包含两个正整数R和C分别代表矩阵的行数和列数。(1 <= R,C <= 100)

从第二行开始是一个R行C列矩阵,每点的数值在[0,10000]内。

Output输出最长的下山路径的长度。
Sample Input
5 51 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9
Sample Output25
Hint深度优先搜索

 

 

 

2.参考代码:

 

#include <iostream>using namespace std;int n, m, a[100][100], used[100][100];int dfs(int i, int j);int main(){    int i, j;    while (cin >> n >> m) {        for (i = 0; i < n; i++) {            for (j = 0; j < m; j++) {                cin >> a[i][j];                used[i][j] = 0;            }        }        int max = 0;        for (i = 0; i < n; i++) {            for (j = 0; j < m; j++) {                if (max < dfs(i, j))                    max = dfs(i, j);            }        }        printf("%d\n", max);    }    return 0;}int dfs(int i, int j){    if (used[i][j])        return used[i][j];    int max = 0;    if (i - 1 >= 0 && a[i][j] > a[i - 1][j])        max = dfs(i - 1, j);    if (i + 1 < n && a[i][j] > a[i + 1][j] && max < dfs(i + 1, j))        max = dfs(i + 1, j);    if (j - 1 >= 0 && a[i][j] > a[i][j - 1] && max < dfs(i, j - 1))        max = dfs(i, j - 1);    if (j + 1 < m && a[i][j] > a[i][j + 1] && max < dfs(i, j + 1))        max = dfs(i, j + 1);    return used[i][j] = max + 1;}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 当发现老公有外遇时怎么办 led灯带中间不亮怎么办 飘窗的天花板凸怎么办 一受委屈就爱哭怎么办 6岁儿童叛逆期怎么办 孩子高一了厌学怎么办 除上有肥胖纹怎么办 6岁不爱写作业怎么办 初中孩子不爱写作业怎么办 孩子上课走神写作业慢怎么办 孩子作业写得慢怎么办 4岁宝宝不写作业怎么办 小孩作业写得慢怎么办 3岁宝宝不写作业怎么办 小孩不写作业怎么办呀 作业没写完的人怎么办? 孩子不写作业家长该怎么办 做作业做得慢怎么办 高一作业写得慢怎么办 孩子做作业不认真怎么办 孩子不主动做作业怎么办 写作业静不下心怎么办 小孩不写作业怎么办啊 小孩子写作业爱磨蹭怎么办 孩子在学校不写作业怎么办 鳗鱼刺卡在喉咙怎么办 被小鱼刺卡住了怎么办 喉咙上卡了鱼刺怎么办 跟团出去受伤了怎么办 平安易宝冻结了怎么办 车的保险到期没有交怎么办 人保外地险出险怎么办 婚姻经营不下去了怎么办 他不爱我,我该怎么办 没有我你怎么办钢琴版 没有你怎么办严爵歌词 没有羊毛戳针该怎么办 没有我你该怎么办歌词 雌激素低子宫内膜薄怎么办 没有我你怎么办的句子 没有我你怎么办百度云