Premis
Jadi baru-baru ini saya sekitar setengah jam lebih awal untuk membuat janji, dan memutuskan untuk menunggu di luar. Saya juga memutuskan bahwa itu akan terlihat aneh jika saya hanya berdiri tanpa bergerak di depan rumah. Karena itu, saya memutuskan untuk berjalan cepat, dalam area terbatas. Saya juga menyimpulkan bahwa jika saya mulai berjalan dalam lingkaran itu akan membuat jelas bahwa saya berkeliaran. Jadi saya terinspirasi untuk membuat tantangan Golf Code pertama saya.
Spesifikasi
Anda akan diberikan daftar, peta area, yang akan berisi salah satu " "
atau "#"
, yang mewakili ruang bebas dan semacam rintangan. Ruang bebas hanya dapat dilintasi satu kali, dan dibutuhkan 1 menit untuk melewatinya. Posisi awal Anda akan ditandai dengan "@"
tradisi per roguelike, dan target akan diwakili dengan a "$"
karena itulah yang akan Anda kehilangan di sana. Anda juga akan diberikan bilangan bulat yang akan mewakili berapa menit Anda harus membuang sebelum tidak tampak seolah-olah Anda mengganggu. Ketika Anda mendarat di"$"
, itu harus menjadi jumlah menit yang tepat (jadi jika Anda menghitung mundur, itu harus 1 pada ubin yang berdekatan, dan menjadi 0 pada ubin). Akan selalu mungkin untuk mencapai tujuan. Program atau fungsi Anda harus mengembalikan daftar yang menunjukkan jalur terpendek dengan <,>, ^, dan v untuk mewakili empat kemungkinan arah.
Contohnya
Memasukkan:
[[" ", " ", " ", " "],
["@", " ", " ", "$"],
[" ", " ", " ", " "],
[" ", " ", " ", " "]]
dan
5
Ouput:
[[">", ">", ">", "v"],
["^", " ", " ", "$"],
[" ", " ", " ", " "],
[" ", " ", " ", " "]]
Memasukkan:
[[" ", "#", " ", " ", " "],
[" ", "#", " ", " ", " "],
["@", "#", " ", "$", " "],
[" ", " ", " ", " ", " "],
[" ", "#", " ", " ", " "],
[" ", "#", " ", " ", " "]]
dan
7
Keluaran:
[[" ", "#", " ", " ", " "],
[" ", "#", ">", "v", " "],
["v", "#", "^", "$", " "],
[">", ">", "^", " ", " "],
[" ", "#", " ", " ", " "],
[" ", "#", " ", " ", " "]]
Memasukkan:
[[" ", "#", " ", " ", " "],
[" ", "#", " ", " ", " "],
["@", "#", " ", "$", " "],
[" ", " ", " ", " ", " "],
[" ", "#", " ", " ", " "],
[" ", "#", " ", " ", " "]]
dan
17
Keluaran:
[[" ", "#", " ", "v", "<"],
[" ", "#", " ", "v", "^"],
["v", "#", " ", "$", "^"],
[">", ">", "v", ">", "^"],
[" ", "#", "v", "^", "<"],
[" ", "#", ">", ">", "^"]]
Aturan
- Celah standar berlaku
- Setiap ubin hanya boleh dipindahkan satu kali
- Jumlah waktu yang tepat harus dihabiskan di papan tulis
- Hanya satu jalur yang perlu ditampilkan dalam kasus beberapa jalur
- Ini adalah pertanyaan kode golf sehingga jawaban terpendek menang
- Sesuai pertanyaan user202729 dalam komentar, Anda dapat menerima input yang valid.
Tambahkan komentar jika diperlukan klarifikasi lebih lanjut