鏟雪車
【題目描述】
隨著白天越來越短夜晚越來越長,我們不得不考慮剷雪問題了。整個城市所有的道路都是雙車道,因為城市預算的削減,整個城市只有1輛鏟雪車。鏟雪車只能把它開過的地方(車道)的雪鏟乾淨,無論哪兒有雪,鏟雪車都得從停放的地方出發,遊歷整個城市的街道。現在的問題是:最少要花多少時間去鏟掉所有道路上的雪呢?
【輸入檔案】
輸入資料的第1行表示鏟雪車的停放座標(x,y),x,y為整數,單位為公尺。下面最多有一百行,每行給出了一條街道的起點座標和終點座標,所有街道都是筆直的,且都是雙向乙個車道。鏟雪車可以在任意交叉口或任何街道的末尾任意轉向,包括轉u型彎。鏟雪車鏟雪時前進速度為20千公尺/時,不剷雪時前進速度為50千公尺/時。保證:鏟雪車從起點一定可以到達任何街道。
【輸出檔案】
對於每組資料輸出鏟掉所有街道上的雪並且返回出發點的最短時間,精確到分鐘。
【約定】
x,y為整數且下面最多有一百行
【樣例輸入】
0 03
0 0 10000 10000
5000 -10000 5000 10000
5000 10000 10000 10000
【樣例輸出】
3:55
【樣例說明】
【解題思路】
對於每一條邊都有兩個方向可走,即每乙個單獨的點都至少有偶數條邊相連,也就是有0個奇點,可從任意一點出發並不重複地遍歷每一條路,這個圖是尤拉圖。統計每一條路的長度除速度20千公尺每小時即時答案。注意答案以分鐘為單位。
【源**】/pas
var
sum:real;
n,i:longint;
ans,fenz:int64;
x1,y1,x2,y2:int64;
begin
read(x1,y1);
while not eof do
begin
readln(x1,y1,x2,y2);
sum:=sum+sqrt(sqr(x1-x2)+sqr(y1-y2));
end;
sum:=sum*2/1000;
sum:=sum/20;
fenz:=round((sum-trunc(sum))*60);
ans:=trunc(sum);
write(ans,':');
if fenz<10 then write(0);
writeln(fenz);
end.
尤拉迴路 鏟雪車
隨著白天越來越短夜晚越來越長,我們不得不考慮剷雪問題了。整個城市所有的道路都是雙向車道,道路的兩個方向均需要剷雪。因為城市預算的削減,整個城市只有 1 輛鏟雪車。鏟雪車只能把它開過的地方 車道 的雪鏟乾淨,無論哪兒有雪,鏟雪車都得從停放的地方出發,遊歷整個城市的街道。現在的問題是 最少要花多少時間去...
騎馬修柵欄 fence 鏟雪車(snow)
時間限制 1 sec 記憶體限制 128 mb 農民john每年有很多柵欄要修理。他總是騎著馬穿過每乙個柵欄並修復它破損的地方。john是乙個與其他農民一樣懶的人。他討厭騎馬,因此從來不兩次經過乙個乙個柵欄。你必須編乙個程式,讀入柵欄網路的描述,並計算出一條修柵欄的路徑,使每個柵欄都恰好被經過一次。...
鏟雪車 騎馬修柵欄 (尤拉路徑和尤拉迴路)
今天上午的訓練賽涉及到的,順便補一下叭。相信大家都聽說過著名的七橋問題,而尤拉迴路就是偉大的數學家尤拉為了解決七橋問題提出的。首先介紹一下基本概念 在乙個圖中,經過每條邊一次並且只經過一次的迴路被稱為尤拉迴路,路徑被稱為尤拉路徑。根據名字就可以知道,迴路是起點終點相同的,而路徑是起點終點不同的。其實...