标签:void code ace ros namespace 存在 pre soft 身高
3
3
1 2 5
2 3 10
1 3 20
15
1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #include<queue> 5 #define maxn 10005 6 #define maxm 50005 7 #define inf 1<<29 8 using namespace std; 9 queue<int> q; 10 int ecnt,n,m,dis[maxn],vis[maxn],head[maxn]; 11 struct edge{ 12 int u,v,w,next,f; 13 }E[maxm*2]; 14 void addedge(int u,int v,int w) 15 { 16 E[++ecnt].u=u; 17 E[ecnt].v=v; 18 E[ecnt].w=w; 19 E[ecnt].next=head[u]; 20 head[u]=ecnt; 21 } 22 void spfa() 23 { 24 for(int i=1 ; i<=n ; ++i ) 25 dis[i]=inf; 26 dis[1]=0; 27 vis[1]=1; 28 q.push(1); 29 while(!q.empty()) 30 { 31 int d=q.front();q.pop(); 32 vis[d]=0; 33 for(int i=head[d] ; i ; i=E[i].next ) 34 { 35 int v=E[i].v; 36 int w=E[i].w; 37 if(dis[v]>dis[d]+w) 38 { 39 dis[v]=dis[d]+w; 40 if(!vis[v]) 41 { 42 vis[v]=1; 43 q.push(v); 44 } 45 } 46 } 47 } 48 } 49 int main() 50 { 51 int u,v,w; 52 scanf("%d%d",&n,&m); 53 for(int i=1 ; i<=m ; ++i) 54 { 55 scanf("%d%d%d",&u,&v,&w); 56 addedge(u,v,w); 57 } 58 spfa(); 59 printf("%d",dis[n]); 60 return 0; 61 }
标签:void code ace ros namespace 存在 pre soft 身高
原文地址:http://www.cnblogs.com/fujudge/p/7500897.html