最短路-SPAF模板

news/2024/7/5 2:04:40

以hdu1874畅通工程续为例

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<queue>
 5 using namespace std;
 6 const int maxn = 1005;
 7 vector<pair<int, int> > E[maxn];
 8 int d[maxn], inq[maxn];
 9 int n, m,s,t;
10 
11 void SPFA(int s)
12 {
13     queue<int> Q;
14     Q.push(s); d[s] = 0, inq[s] = 1;
15     while (!Q.empty())
16     {
17         int now = Q.front(); Q.pop();
18         inq[now] = 0;
19         for (int i = 0; i < E[now].size(); i++) {
20             int v = E[now][i].first;
21             if (d[v] > d[now] + E[now][i].second)
22             {
23                 d[v] = d[now] + E[now][i].second;
24                 if (inq[v] == 1) continue;
25                 inq[v] = 1;
26                 Q.push(v);
27             }
28         }
29     }
30 }
31 
32 int main()
33 {
34     while (scanf("%d%d",&n,&m)==2)
35     {
36         for (int i = 0; i < maxn; i++) {
37             E[i].clear(); inq[i] = 0, d[i] = 1e9;
38         }
39         for (int i = 0; i < m; i++) {
40             int x, y, z;
41             scanf("%d%d%d", &x, &y, &z);
42             E[x].push_back(make_pair(y, z));
43             E[y].push_back(make_pair(x, z));
44         }
45         scanf("%d%d", &s, &t);
46         SPFA(s);
47         if (d[t] == 1e9)
48             printf("-1\n");
49         else
50             printf("%d\n", d[t]);
51     }
52     return 0;
53 }

 

转载于:https://www.cnblogs.com/zxhyxiao/p/7248480.html


http://lihuaxi.xjx100.cn/news/279631.html

相关文章

开发者说:基于 Nacos 的网关灰度路由和服务权重灰度

点击上方“方志朋”&#xff0c;选择“置顶公众号”技术文章第一时间送达&#xff01;icon designed | 阿猫阿箫文 | 任浩军Nepxion Discovery Gray是Nepxion Discovery的极简示例&#xff0c;有助于使用者快速入门。它基于Spring Cloud Greenwich版本而制作&#xff08;使用者…

单片机有啥用?现在用的还多吗?

不知不觉&#xff0c;我从事单片机开发已经10年了。 我们无际单片机编程团队还有一个工程师&#xff0c;做开发更是有13年之久。 在刚开始工作的时候&#xff0c;当时也没想这么远&#xff0c;一心只想学习一门技术&#xff0c;然后找到一份不错的工作。 至少比去工地搬砖&a…

如何打造高质量的机器学习数据集?这份超详指南不可错过

作者 | 周岩&#xff0c;夕小瑶&#xff0c;霍华德&#xff0c;留德华叫兽转载自知乎博主『运筹OR帷幄』导读&#xff1a;随着计算机行业的发展&#xff0c;人工智能和数据科学近几年成为了学术和工业界关注的热点。特别是这些年人工智能的发展日新月异&#xff0c;每天都有新的…

c语言指针用法及实际应用详解,通俗易懂超详细!

大家好&#xff0c;我是无际。 今天给大家来讲解一下指针。 我会由浅到深&#xff0c;最后结合实际应用讲解&#xff0c;让大家学会指针的同时&#xff0c;知道大佬们都用指针来干嘛&#xff01; 长文预警&#xff01;全文大约5200多字&#xff0c;学指针看这篇文章就够了&a…

Linux 内核裁剪框架初探

由于操作系统内核的不稳定性、时效性较差、完整性问题以及需要人工干预等原因&#xff0c;Linux内核裁剪技术没有得到广泛的应用。了解了现有技术的局限性&#xff0c;尝试提出一个Linux内核裁剪框架&#xff0c;或许可以解决这些问题。 大约是在2000年的时候&#xff0c;老码农…

silverlight学习之storyboard (动画)

利用silverlight的storyboard可以很方便的制作一些简单的“动画”&#xff0c;比如控制一些控件double类型或者color类型的属性值的变化。下面简单地说其中最简单的两个方面&#xff1a;DoubleAnimation&#xff08;控制控件double类型的属性&#xff09;和ColorAnimation&…

JQuery中的queue()及dequeue()

本文实例讲述了jQuery中queue()方法用法。分享给大家供大家参考。具体分析如下&#xff1a;此方法能够显示或者操作在匹配元素上执行的函数队列。此方法可能用的并不是太频繁&#xff0c;但是却非常的重要&#xff0c;下面就结合实例来介绍一下次方法的用法。根据方法参数的不同…

吴恩达家免费 NLP 课程重磅上线!110 个小视频教你做出聊天机器人,粉丝:我要让娃跟吴恩达姓!...

郭一璞 发自 凹非寺量子位 报道 | 公众号 QbitAI朋友们&#xff0c;又有新课可以白嫖了昨天晚上&#xff0c;吴恩达宣布DeepLearning.ai的NLP&#xff08;自然语言处理&#xff09;课程在Coursera上线了。目前可以免费注册&#xff0c;正式开课的日子选的很契合国内氛围&#x…