#include <bits/stdc++.h>
using namespace std;
int n,m,s,t;
long long g[10005][10005];
long long c[10005];
bool b[10005];
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
cin >> n >> m >> s >> t;
int u,v,w;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
g[i][j] = 0x7ffffff;
for(int i=1;i<=m;i++)
{
cin>>u>>v>>w;
g[u][v] = g[v][u] = w;
}
for(int i=1;i<=n;i++) c[i] = g[s][i];
b[s]=1;
c[s]=0;
for(int i=1;i<=n;i++)
{
int minl=0x7ffffff;
int k=0;
for(int j=1;j<=n;j++)
if(!b[j]&&c[j]<minl)
k=j,minl=c[j];
if(k==0)break;
b[k]=1;
for(int j=1;j<=n;j++)
c[j]=min(c[j],max(g[j][k],c[j]));
}
cout<<c[t];
return 0;
}
已经改成了无向图,但还是有错,请大佬帮忙看看
感谢