为什么全RE了????????
#include<bits/stdc++.h>
using namespace std;
int n,m,s,t,vis[50005];
bool dis[10005][10005];
queue<int>q;
struct node{
vector<int> v;
vector<int> w;
int head;
}a[50005];
int add(int u,int v,int w){
a[u].head++;
a[u].v.push_back(v);
a[u].w.push_back(w);
}
void BFS(){
q.push(s);
vis[s]=0;
while(!q.empty()){
int x=q.front();
q.pop();
for(int i=0;i<a[x].head;i++){
if(vis[a[x].v[i]]==-1||vis[a[x].v[i]]>max(vis[x],a[x].w[i])){
q.push(a[x].v[i]);
vis[a[x].v[i]]=max(vis[x],a[x].w[i]);
}
}
}
}
int main(){
cin>>n>>m>>s>>t;
memset(vis,-1,sizeof(vis));
while(m--){
int u,v,w;
cin>>u>>v>>w;
if(dis[u][v]==1){
for(int i=0;i<a[u].head;i++){
if(a[u].v[i]==v){
a[u].w[i]=min(w,a[u].w[i]);
break;
}
}
for(int i=0;i<a[v].head;i++){
if(a[v].v[i]==u){
a[v].w[i]=min(w,a[v].w[i]);
break;
}
}
}else{
dis[u][v]=1;
dis[v][u]=1;
add(u,v,w);
add(v,u,w);
}
}
BFS();
cout<<vis[t];
return 0;
}