博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nyoj 115dijkstar求最短路
阅读量:5153 次
发布时间:2019-06-13

本文共 1139 字,大约阅读时间需要 3 分钟。

#include
#include
#define inf 0x3fffffff#define N 1100int ma[N][N],dis[N],a[N];int m;void dijkstra(int start) {int visit[N],mi,f,i,j;memset(visit,0,sizeof(visit));for(i=1;i<=m;i++) dis[i]=ma[start][i];visit[start]=1;for(i=1;i
dis[j]) { f=j; mi=dis[j]; } if(mi==inf) break; visit[f]=1; for(j=1;j<=m;j++) if(ma[f][j]
dis[f]+ma[f][j]) dis[j]=dis[f]+ma[f][j]; }}return ;}int main() { int t,n,i,j,k,p,q; scanf("%d",&t); while(t--) { scanf("%d%d%d%d",&n,&m,&p,&q); for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<=m;i++) for(j=1;j<=m;j++) ma[i][j]=inf; while(p--) { scanf("%d%d%d",&i,&j,&k); if(ma[i][j]>k||ma[j][i]>k) ma[i][j]=ma[j][i]=k; } dijkstra(q); j=inf; for(i=1;i<=n;i++) if(j>dis[a[i]]) j=dis[a[i]]; printf("%d\n",j); }return 0;}

转载于:https://www.cnblogs.com/thefirstfeeling/p/4410732.html

你可能感兴趣的文章
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
C语言基础小结(一)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
OO学习总结与体会
查看>>
虚拟机长时间不关造成的问题
查看>>
校门外的树2 contest 树状数组练习 T4
查看>>
面试整理:Python基础
查看>>
Python核心编程——多线程threading和队列
查看>>
Program exited with code **** 相关解释
查看>>
植物大战僵尸中文年度版
查看>>
26、linux 几个C函数,nanosleep,lstat,unlink
查看>>
投标项目的脚本练习2
查看>>
201521123107 《Java程序设计》第9周学习总结
查看>>
runtime的基本应用
查看>>
关于scrollTop的那些事
查看>>
Caroline--chochukmo
查看>>
算法导论笔记 第8章 线性时间排序
查看>>
利用jquery的contains实现搜索功能
查看>>