UVA 10457 - Magic Car(最小瓶颈路)
来源:互联网 发布:国内酒店预订网站 知乎 编辑:程序博客网 时间:2024/05/22 10:36
UVA 10457 - Magic Car
题目链接
题意:m条路,每条路上必须维持速度v,现在有一辆车,启动能量和结束能量为a, b,途中消耗能量为经过路径最大速度减去最小速度,现在每次循环给定起点终点,问最小能量花费
思路:最小瓶颈路,利用kruskal去搞
代码:
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 205;const int M = 1005;int n, m, parent[N];struct Edge {int u, v, val;bool operator < (const Edge& c) const {return val < c.val;}void read() {scanf("%d%d%d", &u, &v, &val);}} E[M];int find(int x) {return x == parent[x] ? x : parent[x] = find(parent[x]);}int solve(int s, int e) {int ans = 1000000000;for (int i = 0; i < m; i++) {for (int j = 1; j <= n; j++) parent[j] = j;for (int j = i; j < m; j++) {int pu = find(E[j].u);int pv = find(E[j].v);if (pu != pv) parent[pu] = pv;if (find(s) == find(e)) {ans = min(ans, E[j].val - E[i].val);break;}}}return ans;}int main() {while (~scanf("%d%d", &n, &m)) {for (int i = 0; i < m; i++)E[i].read();sort(E, E + m);int a, b, q, u, v;scanf("%d%d", &a, &b);scanf("%d", &q);while (q--) {scanf("%d%d", &u, &v);printf("%d\n", a + b + solve(u, v));}}return 0;}
1 0
- UVA 10457 - Magic Car(最小瓶颈路)
- UVA 10457 - Magic Car【最小瓶颈树】
- UVA 10457 Magic Car——最小瓶颈路
- (intermediate) UVA (最小瓶颈生成树) 10457 - Magic Car
- uva 10457 - Magic Car ( 最小瓶颈树 的应用)
- uva 10457 - Magic Car(最小瓶颈树)
- uva 10457 Magic Car (图论好题)
- UVA 10457 - Magic Car(并查集)
- UVa 534 Frogger (最小瓶颈路)
- uva 11354 bond 最小瓶颈路
- UVA 10457 ,uva10048 kruskal,最小瓶颈树,floyd
- UVA 11354 Bond 瓶颈路 最小生成树+LCA类似
- UVA 544 - Heavy Cargo(最小瓶颈路)
- Frogger UVA 534(最小瓶颈路+floyd算法)
- 最小瓶颈路
- UVA 534Frogger 【最小瓶颈树】
- UVA-1395(最小瓶颈生成树)
- uva 1395 - Slim Span(最小瓶颈生成树)
- 如何处理Windows Forms程序中未处理的异常
- hive学习之基本语法篇(一)
- python 程序员10个常见错误
- 还是说Memory Model,gcc的__sync_synchronize要慎用。
- LeetCode-Binary Tree Level Order Traversal
- UVA 10457 - Magic Car(最小瓶颈路)
- LabVIEW上位机与串口通信
- 网卡驱动编写必读-重要概念 分享
- C#中unhandled异常处理的问题
- 向上管理:管理自己的老板
- BW架构概述
- BeCJK输入法移植
- CentOS配置smaba与Windows共享文件
- Monkey 自动测试