前文:https://www.cnblogs.com/ljy1227476113/p/9563101.html

在此基础上更新了可以看到行走路径的代码。

代码:

 1 #include <iostream>
 2 using namespace std;
 3 int ivec[10001][10001];
 4 int dp[10001][10001];
 5 int que[10001];
 6 int main()
 7 {
 8     int m, n;
 9     int i, j;
10     int tail = 1;
11     while (cin >> m >> n)
12     {
13         que[10001] = { 0 };
14         for (i = 1; i <= m; i++)
15         {
16             for (j = 1; j <= n; j++)
17             {
18                 cin >> ivec[i][j];
19             }
20         }
21         que[0] = ivec[m][n];
22         dp[1][1] = ivec[1][1];
23         for (i = 2; i <= m; i++)
24         {
25             dp[i][1] = dp[i - 1][1]+ivec[i][1];
26         }
27         for (j = 2; j <= n; j++)
28         {
29             dp[1][j] = dp[1][j - 1]+ivec[1][j];
30         }
31         for (i = 2; i <= m; i++)
32         {
33             for (j = 2; j <= n; j++)
34             {
35                 dp[i][j] = ((dp[i - 1][j] < dp[i][j - 1]) ? dp[i][j - 1] : dp[i - 1][j]) + ivec[i][j];
36             }
37         }
38         i = m, j = n;
39         while(tail <= m + n - 2)
40         {
41             if (dp[i - 1][j] >= dp[i][j - 1])
42             {
43                 que[tail++] = ivec[i - 1][j];
44                 i--;
45             }
46             else
47             {
48                 que[tail++] = ivec[i][j - 1];
49                 j--;
50             }
51         }
52         for (i = 1; i <= m; i++)
53         {
54             for (j = 1; j <= n; j++)
55                 cout << dp[i][j] << " ";
56             cout << endl;
57         }
58         for (i = m + n - 2; i >= 0; i--)
59             cout << que[i] << " ";
60         cout << endl;
61         cout << dp[m][n] << endl;
62     }
63     return 0;
64 }

结果:

输入:

2 4

1 2 3 40

6 7 8 90

输出:

1 2 3 40 90

136

转载于:https://www.cnblogs.com/ljy1227476113/p/9877691.html

dp算法之平安果路径问题c++相关推荐

  1. Leetcode 64. 最小路径和 -- DP算法

    Time: 20190831 题目描述 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入: ...

  2. dp笔记:关于DP算法和滚动数组优化的思考

    从网上总结了一些dp的套路以及对滚动数组的一些思考,现记录如下,希望以后回顾此类算法时会有所帮助. 目录 1.DP算法经验 1.DP算法核心: 2.DP算法类别以及例题 例1:三步问题 例2:最小路径 ...

  3. 第十四周DP算法总结

    这周自己主要再看DP算法的博客,感觉DP这一部分内容确实比之前的都要麻烦一些,最后攻克这一部分难题还是挺好的. 这周自己总结了一些题型,以及一些方法思路,最后再把动态规划和之前的分治和贪心做一下比较. ...

  4. 模式识别读书报告---关于DP算法的…

    我喜欢玩星际争霸,当我操作我的部队用快捷键A进攻敌人时,部队就会自动避开障碍物attack目标.当时我就对为什么部队能自动选择最短的路进攻产生了兴趣,它是用什么算法实现的.而且当你的对手是电脑时,是用 ...

  5. 动态规划DP算法理解

    1. DP算法定义: 每次决策依赖于当前状态,又随即引起状态的转移,多阶段最优化决策解决问题的过程就称为动态规划. 2. DP算法基本流程: 初始状态→│决策1│→│决策2│→-→│决策n│→结束状态 ...

  6. matlab蚁群算法 路径规划,基于蚁群算法的机器人路径规划MATLAB源码

    基于蚁群算法的机器人路径规划MA TLAB源码 使用网格离散化的方法对带有障碍物的环境建模,使用邻接矩阵存储该环境,使得问题转化为蚁群算法寻找最短路径. function [ROUTES,PL,Tau ...

  7. vrp车辆路径问题 php,蚁群算法在车辆路径问题(VRP)中的应用.ppt

    蚁群算法在车辆路径问题(VRP)中的应用 ◆割平面法(Cutting Planes Approach)[6] 割平面法求解VRP问题(A)的基本思想是,在求解相应的不含整数约束的VRP问题(B)上,增 ...

  8. MATLAB实战系列(六)-基于蚁群算法的三维路径规划算法思路浅析

    首先以一个问题为例引入今天所讲的三维路径规划,在21 km * 21 km的一片海域中搜索从起点到终点,并且避开所有障碍物的路径.起点坐标为(1,10,800),终点坐标为(21,8,1200),示意 ...

  9. boost::geometry模块多边形DP算法简化示例

    boost::geometry模块多边形DP算法简化示例 实现功能 C++实现代码 实现功能 boost::geometry模块多边形DP算法简化示例 C++实现代码 #include <boo ...

  10. dijkstra算法c++_Matlab 二维模拟退火算法最优路径(主程序)

    这部分承接Dijkstra算法的基础之上,先算出单源最短路径(绿线), 之后把经过的每个虚线段分成1000份,它们的基准点分别是b1.b2等 随机产生一系列1000的数字排列成1*6的矩阵代入模拟退火 ...

最新文章

  1. mysql主从状态异常解决办法
  2. vector中erase函数
  3. 酷狗音乐怎样复制歌词到计算机,酷狗怎么复制歌词和歌曲到mp3上
  4. .NET Core 3.0及ASP.NET Core 3.0 前瞻
  5. Spring Data JDBC通用DAO实现–迄今为止最轻量的ORM
  6. java基础分享_一、java基础教程
  7. vue项目android,Android与Vue项目交互
  8. FTP连接时出现“227 Entering Passive Mode”的解决方法
  9. python判断nan格式_关于Python中Inf与Nan的判断问题详解
  10. 单片机ADC采样算法----限幅平均滤波法
  11. Openstack Swift 原理、架构与 API 介绍
  12. jquery的基本使用-入口函数
  13. Ubuntu安装MDK5
  14. 百亿节点,毫秒级延迟,携程金融基于nebula的大规模图应用实践
  15. (安卓免费抓包软件)安卓7以上版本微信内部无法抓包的完美解决方案
  16. 2. Instructions: Language of the computer
  17. 395. Longest Substring with At Least K Repeating Characters 1
  18. c语言printf格式限定符,c – 1字节有符号数的printf格式
  19. emoji表情mysql处理_Mysql Emoji表情处理
  20. MD5算法的编程实现

热门文章

  1. ffmpeg 双轨的mp3转成8k的wav 脚本
  2. Apple_Mail 登录163邮箱账号
  3. android微信代码大全,微信隐藏代码大全,99%的人都不知道
  4. 用户分层,该怎么分才合理(实操版)
  5. C# 透明窗体制作方法
  6. 批量群发邮件方式集锦,foxmail群发多少封邮件?
  7. 当代考研人的发疯行为!笑到打鸣哈哈嗝哈哈嗝!
  8. 【无限互联】学员作品:搜狐新闻iOS客户端
  9. EGO1—实现计数器74HC163
  10. Unity接入Android SDK