程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu 1598 find the most comfortable road(並查集+枚舉)

hdu 1598 find the most comfortable road(並查集+枚舉)

編輯:C++入門知識

hdu 1598 find the most comfortable road(並查集+枚舉)


find the most comfortable road

Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4899 Accepted Submission(s): 2131



Problem Description XX星有許多城市,城市之間通過一種奇怪的高速公路SARS(Super Air Roam Structure---超級空中漫游結構)進行交流,每條SARS都對行駛在上面的Flycar限制了固定的Speed,同時XX星人對 Flycar的“舒適度”有特殊要求,即乘坐過程中最高速度與最低速度的差越小乘坐越舒服 ,(理解為SARS的限速要求,flycar必須瞬間提速/降速,痛苦呀 ),
但XX星人對時間卻沒那麼多要求。要你找出一條城市間的最舒適的路徑。(SARS是雙向的)。

Input 輸入包括多個測試實例,每個實例包括:
第一行有2個正整數n (1 接下來的行是三個正整數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

中文題目就不用說題意了 並查集,排序加枚舉,下邊是我理解大神代碼猴,自己加的注釋,,唉,,只怪自己太菜 2015,,7,,22

 

#include
#include
#include
using namespace std;
struct node
{	
	int sc,ec,speed;
}a[1100];
int f[210];
int n,m;

bool cmp(node a,node b){ return a.speed=ans) continue;
			merge(a[j].sc,a[j].ec);
			if(find(s)==find(e))//如果起點和終點連通時 ,此時的a[j].speed就是這條路線的最大速度 
			{
				if(ans>a[j].speed-a[i].speed)
					ans=a[j].speed-a[i].speed;
			}
		}
	}
	return ans;
}
int main(){
	int i,t,s,e;
	while(~scanf(%d%d,&n,&m))
	{
		for(i=0;i

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved