SPFA
来源:互联网 发布:在java当中interface 编辑:程序博客网 时间:2024/06/02 17:19
自认为优美的SPFA
#include<iostream>#include<cstdio>#define maxm 500005#define maxn 10005#define INF 0x5fffffffusing namespace std;int n,m,s;struct Edge{ int next; int to; int w;}e[maxm] ;int q[maxm],h[maxn],ok[maxn],dis[maxn];int p;void add_edge(int from ,int to,int w){ e[++p].next=h[from]; e[p].to=to; e[p].w=w; h[from]=p;}int tail,head;void SPFA(){ for(int i=1;i<=n;i++) dis[i]=INF; dis[s]=0; ok[s]=1; q[tail++]=s; while(head<tail) { int u=q[head++]; ok[u]=0; for(int i=h[u];i;i=e[i].next) { int v=e[i].to; if(dis[u]+e[i].w<dis[v]) { dis[v]=dis[u]+e[i].w; if(!ok[v]) { q[tail++]=v; ok[v]=1; } } } }}int main(){ scanf("%d%d%d",&n,&m,&s); for(int i=1;i<=m;i++) { int from,to,w; scanf("%d%d%d",&from,&to,&w); add_edge(from,to,w); } SPFA(); for(int i=1;i<=n;i++) { printf("%d ",dis[i]); } return 0;}
阅读全文
0 0
- SPFA
- spfa
- spfa
- SPFA
- SPFA
- SPFA
- SPFA
- spfa
- SPFA
- SPFA
- SPFA
- SPFA
- SPFA
- spfa
- spfa
- spfa
- SPFA
- SPFA
- C++ 实战之OpenCL环境搭建(一)
- JAVA框架面试题整理之—第一篇
- 深入理解请求转发和重定向的区别
- 剑指offer之连续子数组的最大和
- java面向对象的三大特征,五大基本原则
- SPFA
- 690. Employee Importance(BFS)
- 17.10.5日报
- web项目整合MongoDb出现No converter found capable of converting from org.bson.types.ObjectId to type Long异常
- 我的py3笔记-基础数据类型
- MAC下登录SSH
- TCP和UDP的区别
- Spring入门(AOP API、ProxyFactoryBean其二)
- listview图片加载错乱的原理和解决方案