博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【模板】单源最短路径spfa
阅读量:6732 次
发布时间:2019-06-25

本文共 1525 字,大约阅读时间需要 5 分钟。

发现自己的博客居然没有spfa??这样是不完整的!!(雾

贴板子qwq

1 #include
2 #include
3 #include
4 using namespace std; 5 const int maxn = 10010, maxm = 500050, inf = 2147483647; 6 int n, m, s, num = 0; 7 int head[maxm], dis[maxn]; 8 bool vis[maxn]; 9 struct edge {10 int nxt, to, dis;11 }e[maxm];12 void add(int from, int to, int dis) {13 e[++num].nxt = head[from];14 e[num].to = to;15 e[num].dis = dis;16 head[from] = num;17 }18 void spfa() {19 queue
q;20 for(int i = 1; i <= n; i++) {21 dis[i] = inf;22 vis[i] = 0;23 }24 q.push(s);25 dis[s] = 0;26 vis[s] = 1;27 while(!q.empty()) {28 int u = q.front();29 q.pop();30 vis[u] = 0;//日常忘记打这一句QAQ31 for(int i = head[u]; i; i = e[i].nxt) {32 int v = e[i].to;33 if(dis[v] >= dis[u]+e[i].dis) {34 dis[v] = dis[u]+e[i].dis;35 if(!vis[v]) {36 vis[v] = 1;37 q.push(v);38 }39 }40 }41 }42 }43 int main() {44 scanf("%d%d%d", &n, &m, &s);45 for(int i = 1; i <= m; i++) {46 int f, g, k;47 scanf("%d%d%d", &f, &g, &k);48 add(f, g, k);49 }50 spfa();51 for(int i = 1; i <= n; i++) 52 printf("%d ", dis[i]);53 return 0;54 }

觉得自己码风超棒哈哈哈哈哈哈哈

但博客中代码字体丑的一比QAQ还不会改QAQ

10/17 今天日常敲板子, wa的我一脸懵逼, 发现我建了双向边orz

转载于:https://www.cnblogs.com/Hwjia/p/9783900.html

你可能感兴趣的文章
冲刺阶段第二天,4月20日。
查看>>
用this 对方法的扩展
查看>>
二分图匹配模板
查看>>
web -- Navigator.vibrate(); 使设备(有振动硬件)产生有频率的振动
查看>>
XMR恶意挖矿案例简析
查看>>
java基础 final 修饰成员变量 只能赋值一次问题
查看>>
Xml读取异常--Invalid byte 1 of 1-byte UTF-8 sequence
查看>>
Microsoft access SUM function round decimal number to Integer
查看>>
使用Visual Studio SDK制作GLSL词法着色插件
查看>>
在我的S5pv210开发板上安装busybox并体验busybox devmem 命令的强大功能
查看>>
网络虚拟化问题小记
查看>>
虚拟机桥接网络配置(Centos )
查看>>
Ubuntu下LaTeX中文字体配置
查看>>
使用CSS3制作网站常用的小三角形
查看>>
用Python爬虫对豆瓣《敦刻尔克》影评进行词云展示
查看>>
【HDOJ】4652 Dice
查看>>
【Linux】鸟哥的Linux私房菜基础学习篇整理(一)
查看>>
库文件 string.h、cstring、string 你辨清了没
查看>>
(1)DBHelper 数据库访问—SQLHelper和OracleHelper简要代码
查看>>
AIO
查看>>