单源最短路径

#include<iostream>

#include<vector>

#include<queue>

#include <climits>

using namespace std;

const int N=1e5+10;

long long distN;

typedef pair<int,int> PII;

vector<PII>graphN;

priority_queue<PII,vector<PII>,greater<PII>>pq;

int n,m,s;

void dijkstra(){

for(int i=0;i<=n;++i)disti=INT_MAX;

vector<bool>st(n,false);

dists=0;

pq.push({0,s});

while(pq.size()){

auto e=pq.top();pq.pop();

int w=e.first,u=e.second;

if(stu)continue;

stu=true;

for(auto &p:graphu){

int ww=p.second,v=p.first;

if(!stv&&distv>distu+ww){

distv=distu+ww;

pq.push({distv,v});

}

}

}

}

int main(){

cin>>n>>m>>s;

for(int i=0;i<m;++i){

int u,v,w;cin>>u>>v>>w;

graphu.push_back({v,w});

}

dijkstra();

for(int i=1;i<=n;++i)cout<<disti<<" ";

return 0;

}

相关推荐
启观川15 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·笔记·python·算法
码爸15 小时前
排序算法介绍
python·算法·排序算法
sm_9267870515 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
by2099915 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
colinu15 小时前
C++ 异步任务与线程生命周期:`std::async`、`future`、`thread`、`jthread` 与协作式退出
java·jvm·c++
动词ing16 小时前
【题目练习】算法 组合总和||
算法
wuminyu16 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
longlongzihan16 小时前
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )
c++·算法·leetcode·链表
专业程序开发源16 小时前
flask家电故障预测系统92491-计算机课程设计/毕业设计
vscode·python·sql·算法·flask·课程设计
liulilittle16 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c