标题:杭电最短路径题
#include<iostream>
using namespace std;
static int a=10001;
int inf=999999999;
int map[1001][1001];
int main(){
int i,j;
int n,m;
int a,b,c;
while(cin>>n>>m,n||m){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(i==j) map[i][j]=0;
else map[i][j]=inf;
}
}
for(i=0;i<m;i++){
cin>>a>>b>>c;
map[a][b]=c;
map[b][a]=c;
}
for(int k=1;k<=n;k++){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(map[i][j]>map[i][k]+map[k][j])
map[i][j]=map[i][k]+map[k][j];
}
}
}
cout<<map[1][n]<<endl;;
}
}