Catatan: Ini didasarkan pada Dua jalan yang menyimpang dari kayu kuning (bagian 2) , tantangan tambang sebelumnya. Karena popularitas pertanyaan itu dan Dua jalan menyimpang dalam kayu kuning (bagian 1) , saya ingin membuat yang ketiga. Tetapi 2 yang pertama terlalu mudah ( jawaban 2-byte pada yang pertama, jawaban 15-byte pada yang kedua.) Jadi saya membuat sesuatu yang lebih kompleks ...
Inspirasi
Tantangan ini terinspirasi oleh puisi terkenal Robert Frost, The Road Not Taken :
Dua jalan bercabang di kayu kuning,
Dan maaf aku tidak bisa melakukan perjalanan keduanya.
Dan menjadi seorang musafir, lama aku berdiri
Dan melihat ke bawah sejauh yang aku bisa
Ke tempat itu membungkuk di semak-semak;... 2 paragraf dipangkas ...
Saya akan mengatakan ini dengan menghela nafas
Di suatu tempat berabad-abad karena itu:
Dua jalan menyimpang di hutan, dan saya -
saya mengambil satu yang kurang dilalui oleh,
Dan itu telah membuat semua perbedaan.
Perhatikan baris kedua hingga terakhir I took the one less traveled by,
,.
Latar belakang
Anda ditugaskan untuk membantu seorang petualang buta yang berjalan di jalan dan terinspirasi oleh The Road Not Taken . Petualang itu mendekati persimpangan jalan dan ingin mengambil jalan setapak yang jarang dilalui. Anda harus menemukan di mana petualang sebenarnya dan memberi tahu petualang ke mana harus berpaling.
Tantangan
Tujuan Anda adalah untuk menemukan jalan yang paling jarang dilalui oleh peta Anda di mana jalan bercabang. Peta Anda adalah string yang berisi baris baru (atau \n
, jika Anda mau) dan memiliki lebar dan tinggi yang tidak diketahui. Di peta, jalan terdiri dari angka 0 hingga 9 , persimpangan dibuat dari #
s. Anda harus menemukan jalan saat ini, dan keluar dari jalan lain yang paling sering dilalui, dan jalan yang jarang dilalui oleh petualang buta Anda. Hutan di peta Anda diwakili oleh spasi. Ini adalah peta sederhana:
2 2
1 0
#
2
2
Peta ini 5 lebar dan 5 tinggi. Perhatikan bagaimana jalan bercabang dalam bentuk Y. Y dapat diorientasikan dengan cara apa pun, jadi Anda harus dapat memahami peta yang "diputar".
Apa #
artinya
Di mana garpu peta akan ada #
. Ini tidak memengaruhi skor jalur mana pun.
Apa sebenarnya angka-angka itu
Setiap jalur (garis angka, mungkin memiliki tikungan di dalamnya) memiliki skor. Skor jalur ditentukan dengan menjumlahkan digitnya, jadi untuk contoh pertama, jalur pertama (dari kiri atas, searah jarum jam) memiliki skor 2 + 1 = 3, yang kedua memiliki 2 + 0 = 2, dan yang ketiga memiliki 2 + 2 = 4. Jalan mungkin mengandung angka yang terhubung secara diagonal.
Menemukan di mana Anda berada
Anda berada di jalur dengan skor tertinggi. 2 jalur lainnya adalah jalan yang lebih sering dilalui, dan jalan yang jarang dilalui. Anda harus menemukan jalan dengan skor terendah .
Memberitahu traveler Anda ke mana harus pergi
Anda harus memberi tahu wisatawan Anda untuk pergi "kiri" atau "kanan". Ingatlah bahwa arah dari sudut pandang traveler Anda (dia menghadap ke persimpangan.)
Contoh peta
14
9#
04
Output: "benar" (traveler ada di 9
jalan, 0 + 4 <1 + 4
9
9
9
9
9
#
8 8
8 8
88 88
8 7
Output: "kiri" (traveler ada di 99999
jalan, 8 + 8 + 8 + 8 + 8> 8 + 8 + 8 + 8 + 7
02468
#98765
13579
Output: "benar" (traveler ada di 98765
jalan, 0 + 2 + 4 + 6 + 8 <1 + 3 + 5 + 7 + 9)
4 2
4 2
#
4
4
2
2
Output: "benar" (traveler ada di 4422
jalan, 4 + 4> 2 + 2)
9
9
9
#
8 7
8 7
8 7
Keluaran "kiri" (traveler ada di 999
jalan, 8 + 8 + 8> 7 + 7 + 7
Hal-hal yang perlu diketahui:
- Peta akan diisi dengan spasi untuk membuat setiap garis memiliki panjang yang sama.
- Anda harus output ke STDOUT / konsol / file string
left
atauright
, opsional diikuti oleh baris baru. - Anda harus mengambil input baik sebagai string yang berisi baris baru,
\n
s, atau array / daftar baris (setiap baris adalah string). Di mana input yang diletakkan harus berupa fungsi, argumen baris perintah, file, atau STDIN satu baris pada satu waktu atau serupa. Variabel bukan perangkat input yang dapat diterima (kecuali itu adalah parameter fungsi.) Demikian juga, ekspresi fungsi dalam JS dan bahasa lain harus ditetapkan ke variabel. - Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang!
- Celah standar dilarang
Hal-hal yang dapat Anda asumsikan
- Masukan Anda akan valid. Tidak ada yang seperti ini yang akan diuji untuk:
0 0 0 0 0 # 0 0
- Skor Paths tidak akan pernah terikat.
- Input dapat berupa panjang atau lebar apa pun, kurang dari batas string bahasa Anda.
- Akan selalu ada setidaknya 1 ruang antara 2 jalur.
- Jalan mungkin memiliki tikungan, belokan, dll. Ini adalah jalan, bukan jalan raya.
#
selalu berada di tengah secara horizontal?