AcWing 1129. 热浪 spfa
德克萨斯纯朴的民众们这个夏天正在遭受巨大的热浪!!! 他们的德克萨斯长角牛吃起来不错,可是它们并不是很擅长生产富含奶油的乳制品。 农夫John此时身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦。 John已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线。 这些路线包括起始点和终点一共有 T 个城镇,为了方便标号为 1 到 T。 除了起点和终点外的每个城镇都由 双向道路 连向至少两个其它的城镇。 每条道路有一个通过费用(包括油费,过路费等等)。 给定一个地图,包含 C 条直接连接 2 个城镇的道路。 每条道路由道路的起点 Rs,终点 Re 和花费 Ci 组成。 求从起始的城镇 Ts 到终点的城镇 Te 最小的总费用。 输入格式 第一行: 4 个由空格隔开的整数: T,C,Ts,Te; 第 2 到第 C+1 行: 第 i+1 行描述第 i 条道路,包含 3 个由空格隔开的整数: Rs,Re,Ci。 输出格式 一个单独的整数表示从 Ts 到 Te 的最小总费用。 数据保证至少存在一条道路。 数据范围 1≤T≤2500, 1≤C≤6200, 1≤Ts,Te,Rs,Re≤T, 1≤Ci≤1000 输入样例: 7 11 5 4 2 4 2 1 4 3 7 2 2 3 4 3 5 7 5 7 3 3 6 1 1 6 3 4 2 4 3 5 6 3 7 2 1 输出样例: 7
解答
// 123335.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <vector> #include <queue> #include <cstring> using namespace std; const int N = 2510; const int C = 6500; int n, m, s, e; vector<pair<int, int>> g[N]; int dist[N]; bool st[N]; int spfa(int x, int y) { memset(dist, 0x3f, sizeof dist); dist[x] = 0; queue<int> q; q.push(x); st[x] = true; while (q.size()) { int t = q.front(); q.pop(); st[t] = false; for (int i = 0; i < g[t].size(); i++) { int b = g[t][i].first; int w = g[t][i].second; if (dist[b] > dist[t] + w) { dist[b] = dist[t] + w; if (!st[b]) { q.push(b); st[b] = true; } } } } return dist[y]; } int main() { cin >> n >> m >> s >> e; for (int i = 0; i < m; i++) { int a, c, b; cin >> a >> b >> c; g[a].push_back({ b,c }); g[b].push_back({ a,c }); } cout << spfa(s, e); return 0; }
作 者: itdef
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
2017-07-05 状态机学习(六)解析JSON2