SPFA模板
来源:互联网 发布:linux怎么保存文件 编辑:程序博客网 时间:2024/06/05 06:50
SPFA实际上就是一个利用队列慢优化的一个算最短路的算法
#include <bits/stdc++.h>using namespace std;const int maxn = 205;int n,m;int d[maxn],inq[maxn];vector<pair<int ,int > >E[maxn];void init(){ for(int i = 0;i < maxn;i++) E[i].clear(); for(int i = 0;i < maxn;i++) inq[i] = 0; for(int i = 0;i < maxn;i++) d[i] = 1e9;}int main(){ while(cin>>n>>m){ init(); for(int i = 0;i < m;i++){ int x,y,z; scanf("%d%d%d",&x,&y,&z); E[x].push_back(make_pair(y,z)); E[y].push_back(make_pair(x,z)); } int s,t; scanf("%d%d",&s,&t); queue<int>Q; Q.push(s),d[s] = 0,inq[s] = 1; while(!Q.empty()){ int now = Q.front(); Q.pop();inq[now] = 0; for(int i = 0;i < E[now].size();i++){ int v = E[now][i].first; if(d[v] > d[now]+E[now][i].second){ d[v] = d[now]+E[now][i].second; if(inq[v] == 1) continue; inq[v] = 1; Q.push(v); } } } if(d[t] == 1e9) cout<<"-1"<<endl; else cout<<d[t]<<endl; } return 0;}
0 0
- spfa模板
- spfa 模板
- SPFA模板
- SPFA 模板
- Spfa模板
- spfa---模板
- SPFA(模板)
- spfa模板
- SPFA模板
- SPFA 模板
- SPFA模板
- SPFA模板
- SPFA模板
- SPFA模板
- SPFA模板
- spfa 模板
- spfa 模板
- SPFA 模板
- C++第四次上机实验-穷举法
- C#通用类Helper整理
- 使用腾讯云发布项目后360浏览器通过ip公网访问项目css样式不完整
- 设置zookeeper开机自启动
- Selenium 2.0的由来及设计架构
- SPFA模板
- jQuery常用命令
- 【图像处理】透视变换 Perspective Transformation
- ZOJ 3872 Beauty of Array(DP)
- Linux(八) 之 bash四大特点
- maven+Spring+Struts2+Hibernate 整合
- 国外知名音频库一站式资料和简介
- A Text Clustering Algorithm Using an Online Clustering Scheme for Initialization(基于在线聚类策略的文本聚类算法)
- 38.top10热门品类之join品类与点击下单支付次数