【例5】下图表示城市之间的交通路网,线段上的数字表示费用,单向通行由A->E。试用动态规划的最优化原理求出A->E的最省费用。
如图:求v1到v10的最短路径长度及最短路径。
【样例输入】short.in
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
0
0
0
0
0
0
0
0
0
【样例输出】short.out
minlong=19
1 3 5 8
10
【算法分析】逆推法
自己的代码:
#include
using namespace std;
#include
const int INF=0x7fffffff;
int jz[101][101],f[101],next[101];
int main()
{
参考代码:
#include
using
namespace std;
#include
#include
int
main()
{
w while
(x!=0)
//输出路过的各个城市
w
{
w
cout<<x<<' ';
w
x=c[x];
w
}
w
cout<<endl;
w }