鏟雪車 SSL2334 尤拉迴路

2021-07-11 05:02:09 字數 1231 閱讀 7826

鏟雪車

【題目描述】

隨著白天越來越短夜晚越來越長,我們不得不考慮剷雪問題了。整個城市所有的道路都是雙車道,因為城市預算的削減,整個城市只有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是乙個與其他農民一樣懶的人。他討厭騎馬,因此從來不兩次經過乙個乙個柵欄。你必須編乙個程式,讀入柵欄網路的描述,並計算出一條修柵欄的路徑,使每個柵欄都恰好被經過一次。...

鏟雪車 騎馬修柵欄 (尤拉路徑和尤拉迴路)

今天上午的訓練賽涉及到的,順便補一下叭。相信大家都聽說過著名的七橋問題,而尤拉迴路就是偉大的數學家尤拉為了解決七橋問題提出的。首先介紹一下基本概念 在乙個圖中,經過每條邊一次並且只經過一次的迴路被稱為尤拉迴路,路徑被稱為尤拉路徑。根據名字就可以知道,迴路是起點終點相同的,而路徑是起點終點不同的。其實...