Tuan Jones ingin melakukan perjalanan pulang pergi dengan sepedanya. Dia ingin mengunjungi beberapa kota dalam urutan sewenang-wenang, tetapi rutenya tidak boleh melintasinya sendiri, karena dia benci berada di tempat yang sama dua kali dalam liburannya. Karena ia benar-benar suka bersepeda, panjang rutenya benar-benar tidak relevan, tetapi ia tidak suka mengemudi di sekitar bentang alam tanpa target. Rute yang dia suka adalah dari kota dalam garis lurus ke yang lain, tanpa jalan memutar.
Karena Tuan Jones adalah pegolf kode yang bergairah, dia ingin Anda menemukan sebuah program, yang merencanakan perjalanan pulang-pergi untuknya, dengan serangkaian kota. Input memiliki formulir A (B|C)
. A
adalah nama kota, B
dan C
merupakan koordinatnya. Anda dapat mengasumsikan, bahwa koordinatnya positif dan kurang dari 1000. Kumpulan data untuk kota-kota dipisahkan oleh garis. Berikut ini contoh, bagaimana contoh input terlihat:
SomeTown (1 | 10) ACity (3 | 4) Dimanapun (7 | 7) Beranda (5 | 1)
Tuan Jones tidak bertele-tele, dia hanya ingin memiliki program yang bermanfaat. Dengan demikian, Anda dapat memutuskan sendiri bagaimana outputnya, asalkan memenuhi kriteria berikut:
- Outputnya adalah peta kota-kota, dengan rute yang diambil di antara mereka. Jika ada yang benar, rute tidak boleh tumpang tindih dan harus berakhir di tempat dimulainya
- Koordinatnya seperti pada pemrograman biasa: (1 | 1) ada di sudut NW. Tambahkan semacam penggaris ke perbatasan peta, untuk memudahkan membacanya
- Nama-nama kota harus dituliskan di peta, tetapi jangan ragu untuk menggunakan singkatan yang dijelaskan di tempat lain di peta
- Peta dapat berupa seni ASCII atau gambar
- Biarkan hasilnya mudah dibaca
Output mungkin terlihat seperti ini:
1234567 1 D 2 * * 3 * * 4 B * 5 * * 6 * * 7 * C 8 * ** 9 * * 10A ** A: SomeTown B: ACity C: Dimanapun D: Rumah
Program dengan jumlah char terkecil menang. Saya tidak menghitung parameter ke kompiler / juru bahasa, jika mereka diperlukan untuk kompilasi, tapi tolong jangan menyalahgunakan aturan ini. Aturan golf kode biasa berlaku.
Ini testcase lain. Output Anda tidak harus cocok dengan milik saya, Anda juga tidak harus memilih jalur yang sama dengan saya. Output ditarik dengan tangan dan menunjukkan kemungkinan output. Memasukkan:
home (5 | 7) supermarket (13 | 12) park (15 | 5) alun-alun baru (9 | 16) rumah teman (20 | 11) benteng tua (14 | 21) riverside (1 | 20) pantai (10 | 1) bioskop (21 | 18) hutan (23 | 7) pulau kecil (21 | 1) museum kode-golf (6 | 25) bandara (18 | 25) kedai teh (24 | 14) restoran (24 | 22) jembatan besar (3 | 12) SO building (25 | 9)
Dan ini adalah contoh output:
1111111111222222 1234567890123456789012345 1 H * * K 2 * * * * 3 * * * * 4 * * ** * 5 * C * 6 * * 7 AJ 8 * * 9 * Q 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 ** Sebuah rumah B: supermarket C: taman D: alun-alun baru E: rumah teman F: puri lama G: tepi sungai H: pantai I: bioskop J: hutan K: pulau kecil L: museum kode-golf M: bandara N: toko teh O: restoran P: jembatan besar T: BEGITU membangun
Saya bukan penutur asli bahasa Inggris. Jangan ragu untuk memperbaiki bahasa dan tata bahasa saya, jika perlu.