spfa求最短路 – 算法板子leetcode刷题题解
本文主要介绍spfa求最短路 – 算法板子leetcode刷题题解 解题思路方法,方便大家深入理解解决spfa求最短路 – 算法板子leetcode刷题题解 过程。本文也将分享spfa求最短路 – 算法板子leetcode刷题题解 所遇到的问题和应对策略,怎么解决怎么做的问题。
通过深入本文可以理解代码原理,进行代码文档的下载,也可以查看相应 Demo 动图演示。
提供Java,go,c++,python,js等在内的题解,欢迎收藏我们题解网
全网精选,每天更新,一起变大神!

#include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int he[N], w[N], e[N], ne[N]; int idx, n, m; int d[N]; bool st[N]; queue<int> q; void add(int x, int y, int z) { w[idx] = z; e[idx] = y; ne[idx] = he[x]; he[x] = idx++; } int spfa() { memset(d, 0x3f, sizeof d); d[1] = 0; st[1] = true; q.push(1); while (q.size()) { int t = q.front(); q.pop(); st[t] = false; for (int i = he[t]; i != -1; i = ne[i]) { int j = e[i]; if (d[j] > d[t] + w[i]) { d[j] = d[t] + w[i]; if (!st[j]) { st[j] = true; q.push(j); } } } } if (d[n] == 0x3f3f3f3f) return -1; else return d[n]; } int main() { memset(he, -1, sizeof he); cin >> n >> m; for (int i = 0; i < m; ++i) { int x, y, z; cin >> x >> y >> z; add(x, y, z); } int r = spfa(); if (r == -1) cout << "impossible" << endl; else cout << r << endl; return 0; }
spfa求最短路 – 算法板子leetcode刷题题解部分资料来自网络,侵权毕设源码联系删除
区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站部分资料来自网络,侵权联系删除!资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » spfa求最短路 – 算法板子leetcode刷题题解
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » spfa求最短路 – 算法板子leetcode刷题题解