sdutacm-C--最短路
来源:互联网 发布:虚拟局域网 软件 推荐 编辑:程序博客网 时间:2024/05/16 12:59
C--最短路
Time Limit: 7000MS MemoryLimit: 65536KB
SubmitStatistic
ProblemDescription
给出一个带权无向图,包含n个点,m条边。求出s,e的最短路。保证最短路存在。
Input
多组输入。
对于每组数据。
第一行输入n,m(1<= n && n<=5*10^5,1<= m && m <= 2*10^6)。
接下来m行,每行三个整数,u,v,w,表示u,v之间有一条权值为w(w >= 0)的边。
最后输入s,e。
Output
对于每组数据输出一个整数代表答案。
ExampleInput
3 1
1 2 3
1 2
ExampleOutput
3
Hint
Author
zmx
#include <iostream>#include<bits/stdc++.h>using namespace std;#define inf 99999999struct node{ int v,w; int next;}edge[4000010];int dis[500010],vis[500010],head[500010];int cnt,n;void add(int u,int v, int w){ edge[cnt].v = v; edge[cnt].w = w; edge[cnt].next = head[u]; head[u] = cnt++;}void spfa(int s,int e){ int i; queue<int>q; memset(vis,0,sizeof(vis)); for(i=1;i<=n;i++) { dis[i] = inf; } dis[s] = 0;//表示到点到某点的最短路径数组 vis[s] = 1;//表示该点是否已经在队列中 q.push(s); while(!q.empty()) { int u = q.front(); q.pop(); vis[u] = 0; for(i=head[u];i!=-1;i = edge[i].next) { int v = edge[i].v; if(dis[v]>dis[u]+edge[i].w) { dis[v] = dis[u]+edge[i].w; if(vis[v]==0) { vis[v] = 1; q.push(v); } } } }}int main(){ int m,v,w,s,e,u; while(~scanf("%d %d",&n,&m)) { memset(head,-1,sizeof(head)); cnt = 0; while(m--) { scanf("%d%d%d",&u,&v,&w); add(u,v,w); add(v,u,w); } scanf("%d%d",&s,&e); spfa(s,e); printf("%d\n",dis[e]); } return 0;}/***************************************************User name: jk160505徐红博Result: AcceptedTake time: 1316msTake Memory: 3368KBSubmit time: 2017-02-16 20:21:16****************************************************/
0 0
- sdutacm-C--最短路
- 图论 C - 最短路
- C--最短路
- C--最短路
- C--最短路
- sdutacm-最短路径
- C语言 Floyd最短路
- cf 602 C(最短路)
- SDUT 2894 C--最短路
- C--最短路 (spfa算法)
- sdutacm-最短路径问题
- Topcoder 2C 250 最短路
- CodeForces 20C Dijkstra? (最短路)
- SDUT 2894-C(最短路spfa)
- C(最短路_spfa+前向星)
- hdu 2544 最短路(c && java)
- CodeForces 25C(Floyed 最短路)
- JZOJ8.16(C组)最短路
- sdutacm-最短路径问题
- JAVA类型转换
- LeetCode 240. Search a 2D Matrix II
- DFS和BFS的使用
- while循环,习题33,笨办法学python
- sdutacm-C--最短路
- QDataStream类用法实例
- 李白打酒
- Java基础:多线程
- caffe学习笔记4-matcaffe训练与测试
- sdutacm-最短路径
- hdu 5755 Gambler Bo 高斯消元 + 取余逆元 模3系下的开关灯问题
- 草药的最大总价值
- 使用PowerDesigner创建JAVA类图