Arkadaşınız bilgisayarlarla çok iyi değil, bu yüzden pratik bir şaka olarak birisi klavyesindeki harfleri (az) karıştırdı. Oturup klavyeye bakarak adını yazmaya çalıştığında harflerin karıştırıldığını fark etti ve yardım istedi.
Akıllısınız, eğer ismini yazıyor ve daha sonra adı yerine ekranda çıkanları tekrar tekrar yazıyorsa, sonunda ismine girmeyi başaracağını biliyorsunuz. Ayrıca, anahtarları nazik ve yeniden düzenlersiniz, ancak başarılı olmak için kaç dönüş gerektiğini bilmek istiyorsunuz.
Göreviniz, harflerin karıştırılması ve arkadaşının adı dönüş sayısını hesaplayan bir program veya işlev yazmaktır.
Giriş ayrıntıları:
- İki dize, dilinize uygun bir yapıda girdi olarak verilir.
- İlk dize, eski harflerin alfabetik sıraya göre küçük harflerin listesidir. (İlk karakter
a
, sonuncusu konumunda olan karakterdirz
.) Dizede her zaman bir değişiklik olur. - İkinci dize addır. Yazdırılabilir herhangi bir ascii karakteri içerebilir, ancak varsa yalnızca büyük ve küçük harfli alfabetik karakterler karıştırılır. İsmin kendisi al'de karıştırılmayabilir.
Çıktı ayrıntıları:
- Çıktı, gereken minimum dönüş sayısı olan tek bir tamsayıdır. Newline isteğe bağlıdır.
Örnekler:
Giriş:
'abcfdeghijklmnopqrstuvwxyz' 'Mr. John Doe'
(d, e, f konumları değişti)
Çıktı:
3
(Gösterilen adlar: Mr. John Fod
=> Mr. John Eof
=> Mr. John Doe
)
Giriş:
'nopqrstuvwxyzabcdefghijklm' 'Mr. John Doe'
( ROT13 şifresi )
Çıktı:
2
(Harf içeren herhangi bir giriş adı 2
, orijinal adı oluşturmak için mermi alır .)
Giriş:
'aebcdjfghiqklmnopzrstuvwxy' 'John Doe'
Çıktı:
140
Bu kod golf bu yüzden en kısa giriş kazanır.
EOF
tamamen şaşırtıcı!
aebcdjfghiqklmnopzrstuvwxy
(çıkış 1260Mr John Doe
). Bu mümkün olan maksimum değerdir - 4, 5, 7, 9 düzeninden (ve değişmedena
) oluşur ve her döngüden en az bir harf içeren her isim 1260 verir. Ve sanırım alfabeyi giriş olarak alıyor veya etkilenmeyen bir ad kullanmak da önemli durumlardır.