直接上模板:
#include<bits/stdc++.h>
using namespace std;
int f[101][101],n,x,y,m,p,q,z;
int main(){
cin>>n>>m>>p>>q;
memset(f,0x3f,sizeof(f));
for(int i=1;i<=n;i++){
f[i][i]=0;
}
for(int i=1;i<=m;i++){
cin>>x>>y>>z;
f[x][y]=f[y][z]=z;
}
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(f[i][k]+f[k][j]<f[i][i]/*<-这里应该是f[i][j]*/)f[i][j]=f[i][k]+f[k][j];
}
}
}
printf("%d",f[p][q]);
return 0;
}