#include<bits/stdc++.h>
using namespace std;
const int maxn = 112345;
const int INF = 0x3f3f3f3f;
vector<pair<int,int> > edge[maxn];
void Link(int st,int ed,int v){
edge[st].push_back(make_pair(ed,v));
}
int dis[maxn];
bool vis[maxn];
queue<int> Q;
void spfa(int st){
while(Q.empty()==false) Q.pop();
memset(dis,0x3f,sizeof(dis));
memset(vis,0,sizeof(vis));
vis[st] = true;
dis[st] = 0;
Q.push(st);
while(Q.empty() == false){
st = Q.front();
Q.pop();
vis[st] = false;
for(auto it : edge[st]){
int ed = it.first;
int v = it.second;
if(dis[st] + v < dis[ed]){
dis[ed] = dis[st] + v;
if(vis[ed] == false){
vis[ed] = true;
Q.push(ed);
}
}
}
}
}
in
vector、pair、auto用法
最新推荐文章于 2023-03-07 21:16:00 发布