Bay Jones bisikletiyle gidiş-dönüş yapmak istiyor. Birkaç şehri keyfi sırayla ziyaret etmek istiyor, ancak tatilinde iki kez aynı yerde olmaktan nefret ettiği için rotası kendi kendine geçmemelidir. Bisiklete binmeyi gerçekten sevdiğinden, rotasının uzunluğu tamamen önemsizdir, ancak bir hedef olmadan manzarayı dolaşmaktan hoşlanmaz. Sevdiği rota, şehirden düz bir çizgide, herhangi bir sapma olmadan.
Bay Jones tutkulu bir kod golfçüsü olduğundan, bir dizi şehir göz önüne alındığında, onun için bir gidiş-dönüş planlayan bir program bulmanızı istiyor. Girdi forma sahiptir A (B|C)
. A
bir şehrin adı B
ve C
koordinatlarıdır. Koordinatın pozitif ve 1000'den az olduğunu varsayabilirsiniz. Şehirler için veri kümeleri satırla ayrılmıştır. Örnek bir girişin nasıl görünebileceğine ilişkin bir örnek:
SomeTown (1 | 10) ACity (3 | 4) Nerede (7 | 7) Ana Sayfa (5 | 1)
Bay Jones bilgiçlik değil, sadece yararlı bir programa sahip olmak istiyor. Böylece, bu kriterleri karşıladığı sürece çıktının nasıl göründüğüne kendiniz karar verebilirsiniz:
- Çıktı, şehirlerin, aralarında rota çizilen bir haritadır. Bir şey doğruysa, rota kendisiyle örtüşmemeli ve başladığı yerde sona ermelidir
- Koordinatlar olağan programlamadaki gibidir: (1 | 1) KB köşesinde. Okumayı kolaylaştırmak için haritalar kenarlığına bir cetvel ekleyin
- Şehir adları harita üzerinde yazılmalıdır, ancak haritada başka bir yerde açıklanan kısaltmaları kullanmaktan çekinmeyin
- Harita hem ASCII-art hem de bir resim olabilir
- Çıktıyı okunabilir tutma
Bir çıktı şöyle görünebilir:
1234567 1 D 2 * * 3 * * 4 B * 5 * * 6 * * 7 * C 8 * ** 9 * * 10 A** A: SomeTown B: ACity C: Nerede D: Ana Sayfa
En küçük karakter sayısına sahip program kazanır. Derleme / yorumlayıcıya parametreleri saymam, derleme için gerekli olmaları durumunda, lütfen bu kuralı kötüye kullanmayın. Her zamanki kod golf kuralları geçerlidir.
İşte başka bir test çantası. Çıktınız benimkine uymak zorunda değil, benimle aynı yolu seçmek zorunda değilsiniz. Çıktı elle çizilir ve olası bir çıktı gösterilir. Giriş:
ev (5 | 7) süpermarket (13 | 12) park (15 | 5) yeni plaza (9 | 16) arkadaş evi (20 | 11) eski kale (14 | 21) nehir kenarı (1 | 20) plaj (10 | 1) sinema (21 | 18) orman (23 | 7) küçük ada (21 | 1) kod golf müzesi (6 | 25) havaalanı (18 | 25) çay dükkanı (24 | 14) restoran (24 | 22) büyük köprü (3 | 12) SO binası (25 | 9)
Ve bu örnek bir çıktıdır:
1111111111222222 1234567890123456789012345 1 H * * K 2 * * * * 3 * * * * 4 * * ** * 5 * C * 6 * * 7 AJ 8 * * 9 * S 10 * * 11 * *** E * 12 PB *** * * 13 * * * * 14 * * * N 15 * * * * 16 * D * * 17 * * * * 18 * * I * 19 * * * * 20G * * * 21 * F * * 22 * ** * O 23 * ** * ** 24 * ** * * 25 L ** M ** Bir ev B: süpermarket C: park D: yeni plaza E: arkadaşın evi F: eski kale G: nehir kenarı H: plaj I: sinema J: orman K: küçük ada L: Kod Golf Müzesi M: havaalanı N: çay dükkanı O: restoran P: büyük köprü Q: SO yapı
Ben anadili İngilizce değil. Gerekirse dilimi ve dilbilgimi düzeltmekten çekinmeyin.