代码模板
1 void floyd() 2 { 3 for(int k=1;k<=n;k++)//中间点 4 { 5 for(int i=1;i<=n;i++) 6 { 7 for(int j=1;j<=n;j++) 8 { 9 pri[i][j]=min(pri[i][j],pri[i][k]+pri[k][j]);//取当前最短距离和含有中间顶点的距离的最小值 10 }11 }12 }13 } 14 void dijkstra()15 {16 memset(vis,0,sizeof(vis));17 vis[1]=1;18 for(int i=2;i<=n;i++)19 dis[i]=pri[1][i];20 for(int i=0;idis[k]+pri[k][j])35 dis[j]=dis[k]+pri[k][j];36 }