FAFU - 1030 最短距离

2014-11-24 02:34:40 · 作者: · 浏览: 1
1.题目:
开车从起始点A到目的地B的路线有多条。给你一张描述待选路线的表(n*n的矩阵A),让你找出行车距离最短的路线。表中表示了任意两个路口的连通情况,以及距离。矩阵元素a(i,j)=0表是路口i,j不连通,a(i,j)!=0表示路口i,j的行车距离。其中起始点A在路口1,目的地B在路口n.
2.代码
#include  
using namespace std;  
  
int main()  
{   //ifstream cin("1030.in");  
  
    int init=1000,j,i,n,k,t,**w,*s,*p,*d;  
      
    cin >> n;  
  
    d=new int[n];         
    s=new int[n];  
    p=new int[n];  
    w=new int*[n];  
  
    for(i=0;i
>w[i][j]; for(s[0]=1,i=1;id[k]+w[k][j])) { d[j]=d[k]+w[k][j]; p[j]=k; } } cout << d[n-1] << endl; return 0; }