SPFA
#include<bits/stdc++.h>
using namespace std;
const int INF = 0x7f;
vector<int> dist; // 距离向量
vector<bool> vis; // 哈希表
vector<int> cnt; // 统计入队次数
vector<vector<int> > table; // 邻接表
vector<vector<int> > graph; // 邻接矩阵
vector<int> path; // 最短路径 前驱
int n; // 节点个数
int m; // 边个数
int u; // 入边点
int v; // 出边点
int w; // 权值
// SPFA 算法
bool SPFA(int u) {
// 在Bellman-Ford 的算法基础,利用队列进行优化
queue<int> que;
// 源点入队,标记已访问
vis[u] = true;
dist[u] = 0;
que.push(u);
while (!que.empty()) {