package Ġde . sk yr ising . a oc 2 0 1 5 Ċ Ċ import Ġde . sk yr ising . a oc . Graph Ċ Ċ class ĠBenchmark Day 9 Ġ: ĠBenchmark Day V 1 ( 9 ) Ċ Ċ fun Ġregister Day 9 () Ġ{ ĊĠĠĠ Ġpuzzle LS ( 9 , Ġ" All Ġin Ġa ĠSingle ĠNight ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Ġ= ĠlistOf (" L ondon Ġto ĠD ub lin Ġ= Ġ 4 6 4 ", Ġ" L ondon Ġto ĠB elf ast Ġ= Ġ 5 1 8 ", Ġ" D ub lin Ġto ĠB elf ast Ġ= Ġ 1 4 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġg Ġ= ĠGraph < String , ĠNothing >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( line Ġin Ġit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( from , Ġ_, Ġto , Ġ_, Ġdist ) Ġ= Ġline . split (' Ġ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg . edge ( from , Ġto , Ġdist . toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg . edge ( to , Ġfrom , Ġdist . toInt ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġcities Ġ= Ġg . get Vertex es () ĊĠĠĠĠĠĠĠ Ġval Ġdummy Ġ= Ġg . vertex ("__ D UMMY __ ") ĊĠĠĠĠĠĠĠ Ġfor Ġ( c Ġin Ġcities ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg . edge ( c , Ġdummy , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg . edge ( dummy , Ġc , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġg . t sp ()?. sum Of Ġ{ Ġe Ġ-> Ġe . weight Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġpuzzle LS ( 9 , Ġ" Part ĠTwo ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġg Ġ= ĠGraph < String , ĠNothing >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( line Ġin Ġit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( from , Ġ_, Ġto , Ġ_, Ġdist ) Ġ= Ġline . split (' Ġ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg . edge ( from , Ġto , Ġ- dist . toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg . edge ( to , Ġfrom , Ġ- dist . toInt ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġcities Ġ= Ġg . get Vertex es () ĊĠĠĠĠĠĠĠ Ġval Ġdummy Ġ= Ġg . vertex ("__ D UMMY __ ") ĊĠĠĠĠĠĠĠ Ġfor Ġ( c Ġin Ġcities ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg . edge ( c , Ġdummy , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg . edge ( dummy , Ġc , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġg . t sp ()?. sum Of Ġ{ Ġe Ġ-> Ġ- e . weight Ġ} ĊĠĠĠ Ġ} Ċ }