Giriş
Enigma, II. Dünya Savaşı'nda kullanılan ilk elektro-mekanik rotor şifreleme makinelerinden biriydi. Bu, tek bir harfin kodlanmasından sonra bir sonraki harfin anahtarını değiştireceği anlamına gelir. Bu devasa anahtar alan nedeniyle Almanlar tarafından kırılmaz olarak kabul edildi. Brüt zorlama bile neredeyse imkansızdı. Ancak, Enigma'da bir tasarım hatası vardı. Bir mektubu şifrelemek asla kendiliğinden sonuçlanmayacaktır. Bu, mektubun A
, harf dışındaki her harf için şifreleyebileceği anlamına gelir A
.
Kodlanmış bir mesaj örneğini ele alalım:
BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ
Tipik bir Almanca kelime WETTERBERICHT
veya İngilizce olarak hava durumu raporuydu. Yukarıdaki ilke ile kelimenin kelimenin neresinde olabileceğini belirleyebiliriz:
BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ
WETTERBERICHT
^
Bu mümkün değildir, çünkü I
kendi kendine şifrelenemez, bu yüzden 1 yere geçiyoruz:
BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ
WETTERBERICHT
^
Bu da mümkün değil, bu yüzden tekrar başka bir yere taşındık:
BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ
WETTERBERICHT
^
Bu tekrar mümkün değil. Aslında, ilk olası oluşumu WETTERBERICHT
şudur:
BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ
WETTERBERICHT
0123456789012345678901234567890123456789012345678901234567890123
^
13
Öyleyse, 13 olası ilk oluşumun 0 indeksli pozisyonunu döndürürüz .
Görev
- Kodlanmış bir mesaj ve bir kelime verildiğinde, ilk olası oluşum endeksini bulun .
- Yalnızca temel büyük harfli alfabetik karakterlerin kullanılacağını varsayalım (
ABCDEFGHIJKLMNOPQRSTUVWXYZ
). - Hiçbir oluşumu bulunursa, çıkış herhangi can negatif tamsayı, karakter veya hiçbir şey (örneğin
-1
,X
). - Girdi, bağımsız yeni satırlarda, listelerde veya başka bir şeyde argüman olarak kabul edilebilir.
- Bu kod-golf , bu yüzden en az sayıda bayt olan gönderim kazanıyor!
Test durumları
Input: BHGEFXWFTIUPITHHLPETTTCLOEWOELM, WETTERBERICHT
Output: 13
Input: ABCDEFGHIJKL, HELLO
Output: 0
Input: EEEEEEEEEEEE, HELLO
Output: -1
Input: XEEFSLBSELDJMADNADKDPSSPRNEBWIENPF, DEUTSCHLAND
Output: 11
Input: HKKH, JJJJJ
Output: -1
E
istediğim asla sonuçlanmayacaktı E
. Bütün bu zorluk onunla ilgili.