"Aşık olduğum kişiye hediye almak için Araby pazarına gitmek istiyorum. Ancak, çok geç kalırsam tüm mağazalar kapanacak ve hiçbir şey satın alamayacağım. ben? "
Amaç: Tüm mağazalar kapanmadan önce çocuğu North Richmond Street'ten Araby'ye götür.
Gerçek Hedef: Çocuğun dükkanlar kapanmadan Araby'ye gelmediğinden emin olun.
Programınız aşağıdaki biçimde girdi alacaktır:
<time> <map>
nerede
<time>çocuğun dakika olarak seyahat edebileceği maksimum süredir. Pozitif bir tamsayıdır.<map>trenin izleyebileceği rotaların bir grafiğidir.
Grafiğin biçimi şu şekilde çalışır:
- Her ifade noktalı virgülle sonlandırılır.
- Haritadaki düğümler (anahtarları temsil eder) tek küçük harfler kullanılarak temsil edilir.
- Düğümler arasındaki bir yol sözdizimi ile temsil edilir
a,X,b, buradaXyolun ağırlığını temsil eden bir tamsayıdır. Yolun ağırlığı, trenin bu iki düğümden geçmesi için geçen süredir. - Araby,
aKuzey Richmond Caddesin. - Tüm yollar çift yönlüdür.
Örneğin, bu grafik (yolların çift yönlü olduğunu varsayalım):
![]()
Görüntü Wikimedia Commons aracılığıyla Artyom Kalinin tarafından. CC BY-SA 3.0 lisansı altında kullanılır .
grafik gösterimine şu şekilde kaydedilir:
a,4,b;a,2,c;b,5,c;b,10,d;c,3,e;e,4,d;d,11,f;
Bu girişin bir işareti olmadığından, ngeçersiz bir giriş olduğunu unutmayın. Geçersiz bir giriş verilirse programınız her şeyi yapabilir.
İşte bir örnek giriş:
21 n,4,b;n,2,c;b,5,c;b,10,d;c,3,e;e,4,d;d,11,a;
(Yukarıdaki resim ile aynı grafikle adeğiştirilir nve fdeğiştirilir a).
Oğlan dan almak gerekir niçin a21 dakika içinde. n-> c-> e-> d-> rotasını aalırsa, 20 dakika içinde oraya varır, ki bu da zamanındadır. Bu rotayı virgülle ayrılmış bir düğüm listesi olarak gösterebiliriz:
n,c,e,d,a
Öte yandan, n-> b-> c-> e-> d-> rotası a, çocuğun 27 dakika sürmesine neden olur, bu da zaman içinde değildir. O rotayı şu şekilde temsil edebiliriz:
n,b,c,e,d,a
Çocuğun zamanında yapmamasına neden olacak bir başka olası yol:
n,b,c,b,c,b,c,b,c,b,c,b,c,b,c,b,c,b,c,e,d,a
Programınız girişi yukarıda açıklandığı gibi almalı ve ilk bakışta çocuğun zamanında yapmasına neden olacak bir yol çıkmış gibi görünmelidir, ancak aslında çocuğun zaman içinde yapmamasına neden olan bir yol çıkar. Herhangi bir giriş için, her zaman geri izlemeden, çocuğun zamanında yapmamasına neden olan bir rota olacaktır.
Bu el yapımı bir popülerlik yarışmasıdır, bu yüzden en çok oy alan giriş kazanır. Oylama hatayı gizleme konusunda ustalık için verilir - ne kadar az belirgin olursa o kadar iyidir.
Programınızı test etmek için bazı örnek grafikler.
Giriş:
12 a,2,c;a,2,e;b,5,c;b,4,d;b,11,e;d,7,n;e,4,n;
Görsel bir sunum (bu görsel sunum sadece açıklık içindir ve mücadelenin bir parçası değildir):

Bir olası çıkışı:
n,d,b,e,a
Giriş:
10 a,8,b;a,12,d;b,1,n;d,11,n;a,1,n;
Grafiğin görsel bir görüntüsü:

Bir olası çıkışı:
n,d,a