#include<bits/stdc++.h>
using namespace std;
int arr[
1001][
1001];
int main(){
long long num;
long long val,temp1,temp2,temp3;
while(
scanf(
"%lld",&num)!=EOF&&num!=
0){
scanf(
"%lld",&val);
for(
int i=
0;i<=num;i++)
for(
int j=
0;j<=num;j++)
arr[i][j]=INT_MAX;
for(
int i=
0;i<val;i++){
scanf(
"%lld%lld%lld",&temp1,&temp2,&temp3);
arr[temp1][temp2]=temp3;
arr[temp2][temp1]=temp3;
}
for(
int k=
1;k<=num;k++)
for(
int i=
1;i<=num;i++)
for(
int j=
1;j<=num;j++){
if(arr[i][k]==INT_MAX||arr[k][j]==INT_MAX)
continue;
if(arr[i][j]==INT_MAX||arr[i][k]+arr[k][j]<arr[i][j]) arr[i][j]=arr[i][k]+arr[k][j];
}
cout<<arr[
1][num]<<endl;
}
return 0;
}
1447
转载请注明原文地址: https://ju.6miu.com/read-19565.html