博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dijkstra(变形) POJ 1797 Heavy Transportation
阅读量:6119 次
发布时间:2019-06-21

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

 

题意:求1到n的最大载重量

分析:那么就是最大路上的最小的边权值,改变优先规则.

 

#include 
#include
#include
#include
using namespace std;typedef long long ll;const int N = 1e3 + 10;const int E = 1e5 + 10;const int INF = 0x3f3f3f3f;struct Edge { int v, w, nex; Edge() {} Edge(int v, int w, int nex) : v (v), w (w), nex (nex) {} bool operator < (const Edge &r) const { return w < r.w; }}edge[E];int head[N];int d[N];bool vis[N];int n, m, e;void init(void) { memset (head, -1, sizeof (head)); e = 0;}void add_edge(int u, int v, int w) { edge[e] = Edge (v, w, head[u]); head[u] = e++;}void Dijkstra(int s) { memset (d, 0, sizeof (d)); memset (vis, false, sizeof (vis)); d[s] = INF; priority_queue
que; que.push (Edge (s, 0, 0)); while (!que.empty ()) { int u = que.top ().v; que.pop (); if (vis[u]) continue; vis[u] = true; for (int i=head[u]; ~i; i=edge[i].nex) { int v = edge[i].v, w = edge[i].w; if (!vis[v] && d[v] < min (d[u], w)) { d[v] = min (d[u], w); que.push (Edge (v, d[v], 0)); } } }}int main(void) { int T, cas = 0; scanf ("%d", &T); while (T--) { init (); scanf ("%d%d", &n, &m); int mx = 0; for (int u, v, w, i=1; i<=m; ++i) { scanf ("%d%d%d", &u, &v, &w); if (n == 1 && u == 1 && v == 1) mx = max (mx, w); add_edge (u, v, w); add_edge (v, u, w); } printf ("Scenario #%d:\n", ++cas); if (n == 1) { printf ("%d\n", mx); continue; } Dijkstra (1); printf ("%d\n\n", d[n]); } return 0;}

  

转载于:https://www.cnblogs.com/Running-Time/p/5001212.html

你可能感兴趣的文章
malloc()与calloc差别
查看>>
基于科大讯飞语音云windows平台开发
查看>>
观察者模式(Observer Patterns)
查看>>
【原创】.NET读写Excel工具Spire.Xls使用(2)Excel文件的控制
查看>>
扩展Exception,增加判断Exception是否为SQL引用约束异常方法!
查看>>
html5 基本内容 摘自W3C
查看>>
SQL Server 连接问题案例解析(1)
查看>>
Android关于ListView中item与控件抢夺焦点的那些事
查看>>
<孤独者生存(小小辛巴投资手记)>读书笔记
查看>>
JS基础——事件绑定
查看>>
SQL collate
查看>>
tolower (Function)
查看>>
Socket网络编程--FTP客户端(2)(Windows)
查看>>
Kinect的学习笔记发展一Kinect引进和应用
查看>>
mobilebone.js 移动web APP单页切换骨架
查看>>
令人震撼的世上最牛的博士论文
查看>>
ThinkPHP多应用/项目配置技巧(使用同一配置文件)--(十六)
查看>>
正确的选择log级别
查看>>
android音乐播放器开发 SweetMusicPlayer 智能负载直插式歌词
查看>>
减少HTTP请求之合并图片详解(大型网站优化技术)
查看>>