Senin sonra felaket kano yolculuğu , sen nehir aktığı sonunda bir şelale düşen sona erdi. Kano patladı, ama patlamada hayatta kalmayı başardın. Bununla birlikte, nehir yolculuğunuz tamamen haritadan çıktı - şimdi bir ormanın ortasında kendinizi kaybettiniz. Neyse ki, programlama becerileriniz hala var, bu yüzden ormanda yolunuzu bulmanıza yardımcı olmak için bir ağacın yanına bir program yapmaya karar veriyorsunuz. Bununla birlikte, ağaç üzerinde çok fazla yüzey alanı yoktur, bu nedenle programınızı mümkün olduğunca kısa hale getirmelisiniz.
Orman olarak tarif edilebilir ntarafından n( n > 5sadece küçük harfler oluşacak karakter) kare a-z. Örnek bir orman:
anehcienwlndm
baneiryeivown
bnabncmxlriru
anhahirrnrauc
riwuafuvocvnc
riwnbaueibnxz
hyirorairener
ruwiiwuauawoe
qnnvcizdaiehr
iefyioeorauvi
quoeuroenraib
cuivoaisdfuae
efoiebnxmcsua
Bu ormanda, asol üst köşeden sağ alt köşeye doğru çapraz bir karakter satırı olduğunu fark etmiş olabilirsiniz . Bu, ormanı takip ederseniz sizi bir yere götürecek bir "yoldur". Göreviniz tekil yolu bulan bir program yazmaktır. Şimdi bu meydan okumayı neyin “yol” u çağrıştırdığını daha ayrıntılı olarak anlatacağım.
Bu meydan okumadaki bir "yol", bir Bresenham algoritması ile oluşturulmuş olabilecek , ancak aşağıdakileri içeren gereksinimlerle benzer bir çizgi olarak tanımlanır :
- Satır en az 6 karakter uzunluğunda olmalıdır
- Satırdaki her bir doğrusal (tamamen bitişik) karakter grubu aynı uzunlukta olmalıdır .
- Ormanın bir kenarında başlayacak ve karşı kenarda sona erecek ( ayrıntılandırma için buradaki yorumuma bakın)
İkinci gereksinimi daha açık bir şekilde açıklamak için aşağıdaki satırı göz önünde bulundurun:
aaa
aaa
aaa
aaa
aaa
Bu satır, her biri tam olarak üç karakter uzunluğunda olan karakterlerin ortak doğrusal "segmentlerinden" oluşur. Bir yol olarak nitelendirilir. Şimdi bu satırı düşünün:
a
aa
a
aa
a
aa
Bu satır, karakterlerin tam olarak aynı uzunlukta olmayan (bazıları 1 karakter uzunluğunda ve bazıları 2) olan doğrusal doğrusal "parçalardan" oluşur. Böylece, bu bir yol olarak nitelendirilmez.
Ormanın bir haritası verilen programınız, yolda kullanılan karakterleri tanımlar. Girdi uygun olan şeydir (örn. Komut satırı argümanı, STDIN prompt(), vb.). Bir değişkene önceden başlatılamaz. Girişin ilk kısmı n, ormanın boyutunu temsil eden tek bir tamsayıdır (orman her zaman bir karedir). Bundan sonra bir boşluk ve daha sonra tek bir dize olarak tüm orman. Örneğin, örnek orman bir girdi olarak şu şekilde sunulacaktır:
13 anehcienwlndmbaneiryeivownbnabncmxlriruanhahirrnraucriwuafuvocvncriwnbaueibnxzhyirorairenerruwiiwuauawoeqnnvcizdaiehriefyioeorauviquoeuroenraibcuivoaisdfuaeefoiebnxmcsua
Bunun çıktısı:
a
çünkü yol harf kullanılarak oluşturulur a. Ormanda sadece bir yol olacak. Bu kod golf, bu yüzden en düşük karakter sayısı kazanır. Sorularınız varsa yorumlarda sorun.