算法所有路径和中最小路径和并打印路径(C++源码)
Posted 敲代码两年半的练习生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法所有路径和中最小路径和并打印路径(C++源码)相关的知识,希望对你有一定的参考价值。
【算法】所有路径和中最小路径和并打印路径(C++源码)
一、问题描述
给定一个m行n列的矩阵,从左上角开始每次只能向右或
者向下移动,最后到达右下角的位置,路径上的所有数字累加起来作
为这条路径的路径和。请设计一个算法求所有路径和中最小路径和,
并打印输出该路径。
二、例如
以下矩阵
1 3 5 9
8 1 3 4
5 0 6 1
8 8 4 0
的最小路径和是12,对应的路径为1->3->1->0->6->1->0
三、步骤描述
定义一个4*4的矩阵,输入后定义开始下标为[0][0],后判断下和左的大小移动行和列,若相等则继续判断下一个的行和列的大小判断。路径长度保存到b[k],最后输出。
四、运行结果截图
五、源代码(C++)
#include <iostream>
using namespace std;
int main()
int a[4][4];
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
cin>>a[i][j];
int b[7];
b[0]=a[0][0];
int i=0;
int j=0;
for(int k=1;k<7;k++)
if(a[i+1][j]>a[i][j+1])
b[k]=a[i][j+1];
j++;
else
b[k]=a[i+1][j];
i++;
int sum=0;
for(int k=0;k<6;k++)
cout<<b[k]<<"->";
sum=sum+b[k];
cout<<b[6]<<endl;
sum=sum+b[6];
cout<<"最短路径:"<<sum<<endl;
return 0;
以上是关于算法所有路径和中最小路径和并打印路径(C++源码)的主要内容,如果未能解决你的问题,请参考以下文章
路径规划基于matlab Dijkstra算法多机器人路径规划含Matlab源码 1883期
路径规划基于matlab Dijkstra算法机器人编队路径规划含Matlab源码 1884期