题目描述
下图表示城市之间的交通路网,线段上的数字表示费用,单向通行由A->E。试用动态规划的最优化原理求出A->E的最省费用

输入
输入整数n表示有n个城市
然后是n行n列数据,第i行n个数据表示城市i到各个城市之间的距离,如果没有路径到达该城市,则数据为0
输出
输出最短路径值及经过的城市,格式见样例
样例输入 Copy
10 0 2 5 1 0 0 0 0 0 0 0 0 0 0 12 14 0 0 0 0 0 0 0 0 6 10 4 0 0 0 0 0 0 0 13 12 11 0 0 0 0 0 0 0 0 0 0 3 9 0 0 0 0 0 0 0 0 6 5 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0
样例输出 Copy
minlong=19 1 3 5 8 10
AC代码:
#include<stdio.h>
#include<cstring>
#include<algorithm>
#include<iostream>
#define N 1050
using namespace std;
int n,m,k;
int dist[N];
int a[N][N];
int nex[N];
int dp(int u)//前面的点都遍历过后,可以得出前u各点每个点

这篇博客讲解了如何使用动态规划算法解决城市间交通问题,通过输入城市间的距离矩阵,找到从起点A到终点E的最短路径及其费用。展示了两种代码实现方式:正推和逆推,适用于寻找最优化路线的编程挑战。
最低0.47元/天 解锁文章
902





