[知识点]-[最短路]

代码:

cpp 复制代码
#include<bits/stdc++.h>
#define int long long

using namespace std;

const int N = 1e5+10;

int n,m,A;
int dis[N];
int vis[N];

vector<pair<int,int> > e[N];

void spfa()
{
	for(int i=1;i<=n;i++) dis[i] = 1e18;
	queue<int > q;
	q.push(A);
	dis[A] = 0;
	vis[A] = 1;
	while(q.size())
	{
		int now = q.front();
		q.pop();vis[now] = 0;
		for(auto t:e[now])
		{
			int spot = t.first,w = t.second;
			if(dis[spot]>dis[now]+w)
			{
				dis[spot] = dis[now]+w;
				if(vis[spot]==0)
				{
					vis[spot] = 1;
					q.push(spot);
				}
			}
		}
	}	
}

signed main()
{
	cin>>n>>m>>A;
	while(m--)
	{
		int a,b,c;
		cin>>a>>b>>c;
		e[a].push_back({b,c});
		e[b].push_back({a,c});
	}
	spfa();
	
	for(int i=1;i<=n;i++)
	{
		if(dis[i]==1e18) cout<<(1ll<<31)-1;
		else cout<<dis[i]<<" ";
	}
}
相关推荐
lingran__20 小时前
速通ACM省铜第一天 赋源码(The Cunning Seller (hard version))
c++·算法
塔中妖20 小时前
【华为OD】数字游戏
算法·游戏·华为od
pzx_00120 小时前
【LeetCode】392.判断子序列
算法·leetcode·职场和发展
沐怡旸21 小时前
【算法--链表】146.LRU缓存--通俗讲解
算法·面试
京东零售技术21 小时前
查收你的技术成长礼包
后端·算法·架构
fangzelin51 天前
算法-滑动窗口
数据结构·算法
zcz16071278211 天前
LVS + Keepalived 高可用负载均衡集群
java·开发语言·算法
rit84324991 天前
人工鱼群算法AFSA优化支持向量机SVM,提高故障分类精度
算法·支持向量机·分类
佩佩(@ 。 @)1 天前
嵌入式:走馬燈-stm32GPIOF_LED9、10; GPIOE_D10、D12 流水綫蜂鸣器
stm32·嵌入式硬件·算法