hdu 1598 find the most comfortable road
2014-09-22 00:19
330 查看
Problem Description
XX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Roam Structure---超级空中漫游结构)进行交流,每条SARS都对行驶在上面的Flycar限制了固定的Speed,同时XX星人对 Flycar的“舒适度”有特殊要求,即乘坐过程中最高速度与最低速度的差越小乘坐越舒服 ,(理解为SARS的限速要求,flycar必须瞬间提速/降速,痛苦呀 ),
但XX星人对时间却没那么多要求。要你找出一条城市间的最舒适的路径。(SARS是双向的)。
Input
输入包括多个测试实例,每个实例包括:
第一行有2个正整数n (1<n<=200)和m (m<=1000),表示有N个城市和M条SARS。
接下来的行是三个正整数StartCity,EndCity,speed,表示从表面上看StartCity到EndCity,限速为speedSARS。speed<=1000000
然后是一个正整数Q(Q<11),表示寻路的个数。
接下来Q行每行有2个正整数Start,End, 表示寻路的起终点。
Output
每个寻路要求打印一行,仅输出一个非负整数表示最佳路线的舒适度最高速与最低速的差。如果起点和终点不能到达,那么输出-1。
Sample Input
Sample Output
XX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Roam Structure---超级空中漫游结构)进行交流,每条SARS都对行驶在上面的Flycar限制了固定的Speed,同时XX星人对 Flycar的“舒适度”有特殊要求,即乘坐过程中最高速度与最低速度的差越小乘坐越舒服 ,(理解为SARS的限速要求,flycar必须瞬间提速/降速,痛苦呀 ),
但XX星人对时间却没那么多要求。要你找出一条城市间的最舒适的路径。(SARS是双向的)。
Input
输入包括多个测试实例,每个实例包括:
第一行有2个正整数n (1<n<=200)和m (m<=1000),表示有N个城市和M条SARS。
接下来的行是三个正整数StartCity,EndCity,speed,表示从表面上看StartCity到EndCity,限速为speedSARS。speed<=1000000
然后是一个正整数Q(Q<11),表示寻路的个数。
接下来Q行每行有2个正整数Start,End, 表示寻路的起终点。
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
#include <cstdio> #include <iostream> #include <algorithm> using namespace std; int father[1005]; struct node { int a,b,w; bool operator<(const node &t)const { return w<t.w; } }; int Find(int x) { if(x!=father[x]) { father[x]=Find(father[x]); } return father[x]; } void Union(int x,int y) { x=Find(x); y=Find(y); if(x!=y) { father[x]=y; } } int main() { int n,m,t; node num[1005]; while (cin>>n>>m) { for (int i=0; i<m; i++) { cin>>num[i].a>>num[i].b>>num[i].w; } sort(num, num+m); cin>>t; for (int i=0; i<t; i++) { int a,b; int min=100000000; cin>>a>>b; for (int k=0; k<m; k++) //枚举 { for (int j=1; j<=n; j++) { father[j]=j; } for (int j=k; j<m; j++) { Union(num[j].a, num[j].b); if(Find(a)==Find(b)) { min=num[j].w-num[k].w>min? min:num[j].w-num[k].w; break; } } } if(min==100000000) { cout<<"-1"<<endl; } else { cout<<min<<endl; } } } return 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 (枚举+Kruskal)
- 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 (并查集)
- hdu1598 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 hdu 1598
- 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