hdu-1598-find the most comfortable road( 并查集&贪心)
来源:互联网 发布:阿里云.api 编辑:程序博客网 时间:2024/06/04 18:05
Problem Description
XX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Roam Structure—超级空中漫游结构)进行交流,每条SARS都对行驶在上面的Flycar限制了固定的Speed,同时XX星人对 Flycar的“舒适度”有特殊要求,即乘坐过程中最高速度与最低速度的差越小乘坐越舒服 ,(理解为SARS的限速要求,flycar必须瞬间提速/降速,痛苦呀 ),
但XX星人对时间却没那么多要求。要你找出一条城市间的最舒适的路径。(SARS是双向的)。
Input
输入包括多个测试实例,每个实例包括:
第一行有2个正整数n (1
Output
每个寻路要求打印一行,仅输出一个非负整数表示最佳路线的舒适度最高速与最低速的差。如果起点和终点不能到达,那么输出-1。
Sample Input
4 4
1 2 2
2 3 4
1 4 1
3 4 2
2
1 3
1 2
Sample Output
1
0
并查集&贪心
枚举最小边,再从小到大一直加大于等于这个最小边的其他边,直到起点跟终点属于同一个集合为止,然后用最大边-最小边的差,看能不能更新ans
#include <iostream>#include <iomanip>#include <cstdio>#include <cstdlib>#include <cstring>#include <string>#include <vector>#include <algorithm>#define N 202const int mm = 1000000007;using namespace std;struct edge{ int u, v, s; friend bool operator < (edge a, edge b) { return a.s < b.s; }}e[1001];int n, m, pre[N];int find(int x){ if (x != pre[x]) pre[x] = find(pre[x]); return pre[x];}int main(){#ifndef ONLINE_JUDGE freopen("1.txt", "r", stdin);#endif ios::sync_with_stdio(false); cin.tie(0); int i, j, k, u, v, q, ans, uu, vv; while(cin >> n >> m) { for (i = 0; i < m; i++) cin >> e[i].u >> e[i].v >> e[i].s; sort(e, e+m); cin >> q; while(q--) { cin >> u >> v; ans = mm; for (i = 0; i < m; i++)//枚举最小边 { for (j = 0; j <= n; j++) pre[j] = j; for (j = i; j < m; j++)//最大边 { uu = find(e[j].u); vv = find(e[j].v); if (uu != vv) pre[uu] = vv; if (find(u) == find(v)) { ans = min(ans, e[j].s-e[i].s); break; } } if (j == m) break; } if (ans == mm) cout << -1 << endl; else cout << ans << endl; } } return 0;}
0 0
- hdu 1598 find the most comfortable road(并查集)
- hdu 1598 find the most comfortable road 并查集
- hdu 1598 find the most comfortable road 并查集+贪心
- hdu-1598-find the most comfortable road( 并查集&贪心)
- hdu 1598 find the most comfortable road(并查集+贪心)
- HDU:1598 find the most comfortable road(并查集+贪心)
- HDU 1598 find the most comfortable road (并查集+贪心)
- HDU-1598 find the most comfortable road (并查集+枚举+贪心)
- HDU 1598 find the most comfortable road 贪心+并查集
- find the most comfortable road(并查集+贪心)
- hdu1598 find the most comfortable road 并查集+贪心
- hdu1598,find the most comfortable road,并查集,贪心
- 【hdu】 find the most comfortable road (并查集)
- find the most comfortable road(hdu并查集+暴力)
- hdu 1598 find the most comfortable road 枚举+并查集+贪心(类似最小生成树) ★★★
- hdoj 1598 find the most comfortable road(并查集)
- HDOJ 1598 find the most comfortable road 并查集
- find the most comfortable road 1598 (并查集+枚举)
- NopCommerce添加新功能“类型属性”【新功能的实现步骤】
- 嵌入式开发环境搭建随记
- 地图(系统)
- Android应用方法隐藏及反调试技术浅析
- android-Building Apps for Work,Ensuring Compatibility with Managed Profiles
- hdu-1598-find the most comfortable road( 并查集&贪心)
- 开坑!PHP-MYSQL-AJAX学习
- Android Audio System 架构初探:概述
- ios中将字典放入到数组中,再将数组加入到字典中,再将整个字段转成json格式的。(网上比较少的实例)
- Android逆向之旅---解析编译之后的AndroidManifest文件格式
- 地图(系统&带大头针)
- visual studio运行时库MT、MTd、MD、MDd的研究
- 理解Fragment生命周期
- iOS界面--Tom猫的实现