Setelah perjalanan kano yang membawa bencana , Anda akhirnya jatuh dari air terjun di ujung jeram sungai. Sampan Anda meledak, tetapi Anda berhasil selamat dari ledakan itu. Namun, perjalanan sungai Anda benar-benar hilang dari peta - Anda sekarang telah menemukan diri Anda tersesat di tengah-tengah hutan. Untungnya, Anda masih memiliki keterampilan pemrograman, sehingga Anda memutuskan untuk mengukir program ke sisi pohon untuk membantu Anda menemukan jalan melalui hutan. Namun, tidak banyak area permukaan pada pohon, jadi Anda harus membuat program sesingkat mungkin.
Hutan dapat digambarkan sebagai noleh n( n > 5) kuadrat karakter, yang hanya akan terdiri dari huruf kecil a-z. Contoh hutan:
anehcienwlndm
baneiryeivown
bnabncmxlriru
anhahirrnrauc
riwuafuvocvnc
riwnbaueibnxz
hyirorairener
ruwiiwuauawoe
qnnvcizdaiehr
iefyioeorauvi
quoeuroenraib
cuivoaisdfuae
efoiebnxmcsua
Anda mungkin telah memperhatikan bahwa di hutan ini, ada garis diagonal akarakter berjalan melaluinya dari sudut kiri atas ke sudut kanan bawah. Ini adalah "jalan" melalui hutan yang akan membawa Anda ke suatu tempat jika Anda mengikutinya. Tugas Anda adalah menulis program yang akan menemukan jalur tunggal. Sekarang saya akan lebih spesifik menggambarkan apa yang berkonotasi "jalan" dalam tantangan ini.
"Jalur", dalam tantangan ini, didefinisikan sebagai garis yang serupa dengan jalur yang mungkin dihasilkan dengan algoritme Bresenham , tetapi dengan persyaratan tambahan yang:
- Panjang garis harus minimal 6 karakter
- Setiap kelompok karakter collinear (benar-benar berdekatan) dalam garis harus memiliki panjang yang sama .
- Itu akan dimulai di satu ujung hutan dan berakhir di ujung yang berlawanan (lihat komentar saya di sini untuk penjelasan lebih lanjut)
Untuk menjelaskan persyaratan kedua lebih jelas, pertimbangkan baris berikut:
aaa
aaa
aaa
aaa
aaa
Baris ini terdiri dari "segmen" collinear karakter, yang masing-masing panjangnya tepat tiga karakter. Itu memenuhi syarat sebagai jalur. Sekarang pertimbangkan baris ini:
a
aa
a
aa
a
aa
Baris ini terdiri dari "segmen" collinear yang tidak semua panjang karakternya persis sama (beberapa di antaranya panjangnya 1 karakter dan beberapa di antaranya 2). Dengan demikian, yang ini tidak memenuhi syarat sebagai jalan.
Program Anda, diberi peta hutan, mengidentifikasi karakter yang digunakan di jalan. Input untuk apa pun yang nyaman (mis. Argumen baris perintah, STDIN prompt(),, dll.). Itu tidak dapat diinisialisasi menjadi variabel. Bagian pertama dari input adalah bilangan bulat tunggal yang nmewakili ukuran hutan (hutan selalu persegi). Setelah itu adalah spasi dan kemudian seluruh hutan sebagai string tunggal. Sebagai contoh, contoh hutan akan disajikan, sebagai input, seperti ini:
13 anehcienwlndmbaneiryeivownbnabncmxlriruanhahirrnraucriwuafuvocvncriwnbaueibnxzhyirorairenerruwiiwuauawoeqnnvcizdaiehriefyioeorauviquoeuroenraibcuivoaisdfuaeefoiebnxmcsua
Output untuk ini adalah:
a
karena jalur dibentuk menggunakan huruf a. Hanya akan ada satu jalan di hutan. Ini adalah kode golf, jadi jumlah karakter terendah yang menang. Jika Anda memiliki pertanyaan, tanyakan di komentar.