生命算法,以防忘记

#include<bits/stdc++.h>
using namespace std;
int head[200005],dis[200005],n,m,s,f,g,w,l;
bool sign[200005];
struct node
{
int to,next,val;
} a[200005];
inline void in(int from,int to,int v)
{
a[++l].next=head[from];
a[l].to=to;
a[l].val=v;
head[from]=l;
}
priority_queue < pair<int,int> >q;
inline void dijkstra()
{
for(register int i=1; i<=n; i++)
dis[i]=2147483647;
dis[s]=0;
q.push(make_pair(0,s));
while(q.size())
{
int x=q.top().second;
q.pop();
if(sign[x])continue;
sign[x]=1;
for(register int i=head[x]; i; i=a[i].next)
if(dis[a[i].to]>dis[x]+a[i].val)
{
dis[a[i].to]=dis[x]+a[i].val;
q.push(make_pair(-dis[a[i].to],a[i].to));
}
}
}
int main()
{
scanf("%d%d%d",&n,&m,&s);
for(register int i=1; i<=m; i++)
{
scanf("%d%d%d",&f,&g,&w);
in(f,g,w);
}
dijkstra();
for(register int i=1; i<=n; i++)
printf("%d ",dis[i]);
return 0;
}

最新文章

  1. css浏览器窗口大小
  2. Android MultiDex兼容包怎么使用?
  3. JVMInternals
  4. 母函数入门笔记(施工中&hellip;
  5. VS2015 Cordova Ionic移动开发(五)
  6. c#常用方法和类
  7. Ubuntu安装genymotion模拟器步骤
  8. How Tomcat Works 读书笔记 八 载入器 上
  9. centos7初上手1-安装mysql数据库
  10. supervisor 守护进程
  11. 网络编程 -- RPC实现原理 -- Netty -- 迭代版本V3 -- 编码解码
  12. ThreadLocal 的机制与内存泄漏
  13. asp mvc 导出txt 文件泛型方法
  14. MySQL数据库图文安装详解及相关问题
  15. Ubuntu16.04上用源代码安装ICE
  16. 【内核】linux2.6版本内核编译配置选项(一)
  17. QQ彩票任意订阅内容导致骚扰用户
  18. hdoj1003 DP
  19. vue-cli脚手架安装
  20. Python学习笔记(六)—元组的操作

热门文章

  1. 止损+TS
  2. SpringBoot整合持久层技术--(三)Spring Data JPA
  3. java简单验证码生成程序
  4. MST Unification CodeForces - 1108F
  5. Milestone
  6. 在W10系统中配置Java环境变量后,cmd命令提示符找不到java
  7. 1级搭建类113-Oracle 11gR2 SI FS(OEL 6.10)
  8. GYCTF ezupload
  9. 关于Django图片上传
  10. 数据结构KMP算法中手算next数组