6/10 , 算法題 , CodeM

[編程|1000分] 你的城市
時間限制:C/C++ 1秒,其他語言 2秒
空間限制:C/C++ 262144K,其他語言 524288K
64bit IO Format: %lld
題目描述
2018年第一季度,美團旅行的酒店業務以5770萬的訂單總量,成為行業第一名。
與此同時,美團旅行也提供機票、火車票、船票等各種服務,不斷開辟新的目的旅游城市。最近新開的目的地,就包括對小A有特殊意義的偏僻小城C。
“我來到 你的城市 熟悉的那一條街。”小A哼著歌,從北京出發,要去C城。這對他非常重要,必須當天到達,雖然交通并不是非常方便。
但是,錯過火車并不是一個小概率事件。為了保險起見,小A決定選擇一個即使錯過火車也存在補救措施的交通方案。(即假使未趕上原方案中的任何一班火車,依然可以改乘其他的車次能夠在當天到達C城,但同時小A是一個樂觀主義者,所以他認為改乘以后的所有車次都不會延誤。)當然了,在滿足上述條件的情況下,小A希望花費的錢越少越好(只考慮計劃中的,不考慮發生意外時換乘帶來的代價)。
城市及交通網可以看做一張n個點m條邊的有向圖。每個點代表一個城市(1號點代表北京,n號點代表C城)。每條邊由一個五元組<x, y, c, ts, td>組成,表示存在一個車次,由ts時刻從城市x出發,在td時刻到達城市y,且花費為c元。
為了簡化問題,ts,td均為以半小時為基本單位(具體格式見樣例及Hint)。并假設每次中轉最少需要花費半個小時,且中轉只能發生在同一城市(即到達一個城市距離再次從這個城市出發至少需要間隔半個小時),注意,小 A 如果因為沒趕上車次需要改乘,也需要半個小時的時間。
問小A到達C城最少需要花費多少錢(行程必須在這一天內完成,可以在0:00上車,也可以在24:00到達)。
輸入描述:
第一行,兩個正整數n, m。n表示城市數量,m表示當天不同班次的火車數量。
接下來m行,每行3個整數x, y, c加兩個字符串ts, td,均以空格作為分隔,表示當天的某一班火車。其中x, y, c, ts, td的含義如前描述。
所有的車次都是當天的,沒有隔夜的票。
2 <= n <= 500, m <= 15000, c <= 1000, ts < td,所有數均為正整數。
車次保證不過夜,時間范圍0:00, 0:30, 1:00, … , 23:00, 23:30, 24:00,可能存在重復車次。
輸出描述:
一個整數,表示存在補救措施的前提下,小A到達C城的最小花費。如果不存在這樣的路徑,則輸出-1。
示例1
輸入
3 5
1 3 800 18:00 21:00
1 2 650 13:30 14:00
2 3 100 14:00 18:00
2 3 300 14:30 19:00
2 3 200 15:00 19:30
輸出
950
說明
選擇第二個和第四個車次。
第三個車次由于中轉時間太短無法選擇。第五個車次由于沒有可改乘的航班無法選擇。
如果錯過第二個車次,可以改乘第一個車次。如果錯過第四個車次,可以改乘第五個車次。
示例2
輸入
3 5
1 2 1000 0:00 12:00
1 2 100 0:30 14:00
1 2 100 0:30 15:00
2 3 300 16:00 24:00
2 3 200 16:30 24:00
輸出
1300
說明
選擇第一個和第四個車次。
不能選擇第二個車次是因為,如果錯過了0:30的車次2,那么同樣在0:30出發的車次3也是來不及改乘的。
示例3
輸入
3 4
1 2 100 0:30 14:00
1 2 200 0:30 15:00
2 3 300 16:00 24:00
2 3 200 16:30 24:00
輸出
-1
說明
和樣例二類似,但是缺少了原先的車次一,所以沒有換乘方案。
示例4
輸入
3 4
1 2 100 0:30 14:00
1 2 200 1:00 16:00
2 3 300 16:00 24:00
2 3 200 16:30 24:00
輸出
400
說明
選擇第一個和第三個車次。
示例5
輸入
3 4
1 2 100 0:30 14:00
1 2 200 1:00 16:30
2 3 300 16:00 24:00
2 3 200 16:30 24:00
輸出
-1
說明
和樣例四類似,但假如錯過了第一個車次,改乘車次二在16:30到達城市2是不足以趕上16:30出發的車次四的。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,746評論 2 370

推薦閱讀更多精彩內容