标签:
#include<iostream> #include<algorithm> #include<cstdio> #include<cstdlib> #include<queue> #include<vector> #include<cstring> #include<cmath> #include<map> using namespace std; typedef long long ll; #define N 2011111 struct PP{ int v,w; }tem; vector<PP>q[1111]; queue<int>p; int b[1111]; int main() { int n,m,s,t; cin>>n>>m>>s>>t; for(int i=1;i<=n;i++)b[i]=-1; while(m--){ int u,v,w; cin>>u>>v>>w; tem.v=v; tem.w=w; q[u].push_back(tem); tem.v=u; q[v].push_back(tem); } b[s]=0; p.push(s); while(!p.empty()){ int u=p.front(); p.pop(); for(int i=0;i<q[u].size();i++){ int v=q[u][i].v,w=q[u][i].w; if(b[v]==-1||b[v]>b[u]+w){ b[v]=b[u]+w; p.push(v); } } } cout<<b[t]<<endl; return 0; }
标签:
原文地址:http://www.cnblogs.com/lveternal/p/4198121.html