#include<iostream>
#include<vector>
#define INF 100000
#define MAXN 10000
using namespace std;
int gra[MAXN][MAXN]={INF};//权矩阵
int f[MAXN][MAXN];
int main()
{
int n,m,a,b;
cin>>n>>m>>a>>b;
for(int p=1,x,y,z;p<=m;p++)
{
cin>>x>>y>>z;//输入行,列,边权
gra[x][y]=z;
}
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(gra[i][j]>gra[i][k]+gra[k][j] )
gra[i][j]=gra[i][k]+gra[k][j];
cout<<gra[a][b]<<endl;
}
这只菜鸟才学图论啊,望轻喷,我该怎么改啊QAQ