SDUTOJ 2143 图结构练习——最短路径 邻接链表 SPFA算法
来源:互联网 发布:mac必备软件 编辑:程序博客网 时间:2024/06/14 11:16
图结构练习——最短路径
Time Limit: 1000MS Memory limit: 65536K
题目描述
给定一个带权无向图,求节点1到节点n的最短路径。
输入
输入包含多组数据,格式如下。
第一行包括两个整数n m,代表节点个数和边的个数。(n<=100)
剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边,权值为c。
输出
每组输出占一行,仅输出从1到n的最短路径权值。(保证最短路径存在)
示例输入
3 21 2 11 3 11 0
示例输出
10
提示
来源
赵利强
#include <stdio.h>#include <string.h>struct node{ int u; int v; int w; node *next;}head[110];bool vis[110];int q[10010];const int inf = 0x3f3f3f3f;void creat(int x,int y,int z){ node *p = &head[x]; while(p->next) { if(p->next->v == y) { if(p->next->w > z) { p->next->w = z; } break; } p = p->next; } if(!p->next) { node *r = new node; r->u = x; r->v = y; r->w = z; r->next = NULL; p->next = r; }}void spfa(int s,int e,int n){ memset(vis,false,sizeof(vis)); int tp = 0,tl = 0,t; int dis[110]; memset(dis,inf,sizeof(dis)); dis[s] = 0; q[tp++] = s; vis[s] = true; while(tl < tp) { t = q[tl++]; vis[t] = false; node *p = head[t].next; while(p) { if(dis[p->v] > dis[p->u] + p->w) { dis[p->v] = dis[p->u] + p->w; if(!vis[p->v]) { q[tp++] = p->v; vis[p->v] = true; } } p = p->next; } } printf("%d\n",dis[e]);}int main(){ int n,m,x,y,z; while(~scanf("%d%d",&n,&m)) { memset(head,0,sizeof(head)); for(int i = 0;i < m;i++) { scanf("%d%d%d",&x,&y,&z); creat(x,y,z); creat(y,x,z); } spfa(1,n,n); } return 0;}
0 0
- SDUTOJ 2143 图结构练习——最短路径 邻接链表 SPFA算法
- (模板题)sdut 2143 图结构练习——最短路径(SPFA求最短路)
- The Postal Worker Rings Once(UVA 117)最短路径—SPFA算法+邻接表
- PKU1511(Invitation Cards)最短路径-邻接表+SPFA算法
- 图结构练习——最短路径 dijkstra算法
- SDUT 2143 图结构练习——最短路径
- SDUT 2143 图结构练习——最短路径
- SDUT 2143 图结构练习——最短路径
- SDUT 2143 图结构练习——最短路径
- 最短路径——SPFA算法
- SPFA算法——最短路径
- SPFA算法——最短路径
- SDUToj 2622 最短路径(SPFA)
- 【2143】图结构练习——最短路径 (Dijkstra算法)(SDUT)
- HDOJ 2544 最短路(最短路径 dijkstra算法,SPFA邻接表实现,floyd算法)
- HDOJ 1874 畅通工程续(最短路径,dijkstra算法,spfa邻接表,floyd算法)
- HDOJ 1869 六度分离(最短路径,dijkstra算法,SPFA邻接表,floyd算法)
- 最短路径(邻接表)-Dijkstra算法
- 测试用例设计白皮书--因果图方法
- OpenCV_火焰检测——完整代码
- poj 1306 combinations
- 阿里上市以来最大危机来临:至少五家美国律所启动欺诈调查
- 把linux,ssh客户端蓝色变成绿色
- SDUTOJ 2143 图结构练习——最短路径 邻接链表 SPFA算法
- NodeJS on Nginx: 使用nginx反向代理处理静态页面
- Vs2008 编写com,MFC编写客户端调用
- linux 系统tomcat启动显示成功,web程序页面打不开
- lnmp搭建中出现的问题
- 查看oracle数据库的连接数以及用户
- JavaWeb学习笔记 ---- Jsp基础知识归纳篇(上)
- C++中string
- Qt中new与delete