问题描述
最短路径问题(Shortest path problem):再不回退的前提下,找到A到F的最短路径
算法分析:
//倒推法 #includeusing namespace std; int main() { long n,i,j,x,f[100],c[100],a[100][100]; memset(a,0,sizeof(a)); memset(c,0,sizeof(c)); cin>>n; for(i=1;i<=n;i++) for(j=1;j<=n;j++) cin>>a[i][j]; for(i=1;i<=n;i++) f[i]=2100000000;//初始化,默认为每一个城市到达终点的距离 f[n]=0; for(i=n-1;i>=1;i--) for(x=i+1;x<=n;x++) if(a[i][x]>0&&(f[x]!=2100000000&&f[i]>a[i][x]+f[x])) { f[i]=a[i][x]+f[x]; c[i]=x; } cout< cout<



