#include #include #include #include #include using namespace std; const int MAXN=2501; typedef vector Vec; Vec Map[MAXN],Val[MAXN]; int N,M,S,T; void init() { scanf("%d %d %d %d\n",&N,&M,&S,&T); int a,b,v; for(int i=1;i<=M;i++) { scanf("%d %d %d\n",&a,&b,&v); Map[a].push_back(b); Val[a].push_back(v); Map[b].push_back(a); Val[b].push_back(v); } } int dist[MAXN]; int flag[MAXN]; const int INF=1000000000; queueQ; void SPFA() { for(int i=1;i<=N;i++) dist[i]=INF,flag[i]=0; dist[S]=0,flag[S]=1; Q.push(S); int t,tmp; while(!Q.empty()) { t=Q.front(); Q.pop(); flag[t]=0; for(unsigned int i=0;i