博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spfa【模板】
阅读量:5257 次
发布时间:2019-06-14

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

#include 
#include
#include
using namespace std; const int maxn=120; const int maxm=10010; const int INF=999999;//如果在算法中没有先判断是不是
q; q.push(s); visted[s]=1; while(!q.empty()){ int cur=q.front(); q.pop(); visted[cur]=0; for(int i=head[cur];i!=-1;i=edge[i].nxet){ if(dis[edge[i].to]>dis[cur]+edge[i].cost){ dis[edge[i].to]=dis[cur]+edge[i].cost; if(!visted[edge[i].to]){ visted[edge[i].to]=1; q.push(edge[i].to); } } } } } int main() { int n,m; while(cin>>n>>m&&n!=0){ len=1; int a,b,c; memset(visted,0,sizeof(visted)); memset(head,-1,sizeof(head)); for(int i=1;i<=m;i++){ cin>>a>>b>>c; add(a,b,c); add(b,a,c); } for(int i=1;i<=n;i++){ dis[i]=INF; } int s=1;//起点 dis[s]=0;//这是关键,确定哪个点作为源点,使这个dis数组内的其他值为从此点出发到达其他点最短的距离。 SPFA(s); cout<
<

 

转载于:https://www.cnblogs.com/Shy-key/p/6537121.html

你可能感兴趣的文章
redis cli命令
查看>>
Problem B: 占点游戏
查看>>
python常用模块之sys, os, random
查看>>
HDU 2548 A strange lift
查看>>
Linux服务器在外地,如何用eclipse连接hdfs
查看>>
react双组件传值和传参
查看>>
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
价值观
查看>>
mongodb命令----批量更改文档字段名
查看>>
使用&nbsp;SharedPreferences 分类: Andro...
查看>>
TLA+(待续...)
查看>>
题解: [GXOI/GZOI2019]与或和
查看>>
MacOS copy图标shell脚本
查看>>
国外常见互联网盈利创新模式
查看>>
Oracle-05
查看>>
linux grep 搜索查找
查看>>
Not enough free disk space on disk '/boot'(转载)
查看>>
android 签名
查看>>
vue项目中使用百度统计
查看>>
android:scaleType属性
查看>>