dijkstra求最短路

发布时间:2022-06-29 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了dijkstra求最短路脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int N=510;int n,m;int g[N][N];int dist[N];bool st[N];int dijkstra(){ memset(dist,0x3f,sizeof dist); dist[1]=0; for(int i=0;i<n;i++) { int t=-1; for(int j=1;j<=n;j++) if(!st[j]&&t==-1||dist[t]>dist[j]) t=j;//if(t==n) break;(优化) st[t]=true; for(int j=1;j<=n;j++) dist[j]=min(dist[j],dist[t]+g[t][j]); } if(dist[n]==0x3f3f3f) return -1; return dist[n];}int main(){ cin>>n>>m; memset(g,0x3f,sizeof g); while(m--) { int a,b,c; cin>>a>>b>>c; g[a][b]=min(g[a][b],c); } int t=dijkstra(); cout<<t<<endl; }

脚本宝典总结

以上是脚本宝典为你收集整理的dijkstra求最短路全部内容,希望文章能够帮你解决dijkstra求最短路所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: