Yalançı Təhlükəsizlik Hissi
Freddy, daha böyük gül kələmləri yetişdirmək üçün yeni bir üsul kəşf edib. O, bu tapıntını həmkarı bağban Tommy ilə paylaşmaq istəyir, lakin heç kimin bu üsulu oğurlamasını istəmir. Buna görə də, iki bağban M. E. Ohaver tərəfindən təklif olunan sadə bir şifrələmə texnikasından istifadə etməyə qərar verirlər.
Şifrələmə, simvolları nöqtə və tirelərin dəyişən uzunluqlu ardıcıllığı kimi təmsil edən Mors koduna əsaslanır. Aşağıdakı cədvəl bütün hərflər üçün Mors kodu ardıcıllıqlarını göstərir:
Qeyd edək ki, dörd mümkün nöqtə-tire birləşməsi təyin edilməmişdir. Bu problem üçün onları aşağıdakı kimi təyin edəcəyik (qeyd edək ki, bunlar faktiki Mors kodu üçün təyinatlar deyil):
Əslində, mesajdakı simvollar qısa fasilələrlə ayrılır, adətən boşluqlar kimi göstərilir. Beləliklə, ACM GREATER NY REGION mesajı aşağıdakı kimi kodlanır:
.- -.-. – ..– –. .-. . .- - . .-. ..– -. -.– ..– .-. . –. .. — -.
Ohaverin şifrələmə sxemi, Mors kodunu dəyişdirməklə, yəni hərflər arasındakı fasilələri çıxarmaqla əsaslanır. Fasilələr zəruridir (çünki Mors dəyişən uzunluqlu kodlaşdırmadır və prefiks-sərbəst deyil), hər bir simvoldakı nöqtə və tirelərin sayını müəyyən edən bir sıra əlavə edilir. Məsələn, ".–.-.–" mesajını nəzərdən keçirin. Fasilələrin harada olması lazım olduğunu bilmədən, bu "ACM", "ANK" və ya bir neçə başqa imkan ola bilər. Uzunluq məlumatı, məsələn, ".–.-.– 242" əlavə etsək, kod birmənalı olur.
Ohaverin sxemi üç addımdan ibarətdir, həm şifrələmə, həm də deşifrələmə üçün eynidir:
Mətni fasiləsiz Mors koduna çevirin, lakin kod uzunluqlarını göstərən bir sıra ilə.
Rəqəmlər sırasını tərsinə çevirin.
Nöqtə və tireləri, kod uzunluqları kimi tərsinə çevrilmiş rəqəmlər sırasından istifadə edərək mətni geri çevirin.
Məsələn, "AKADTOF IBOETATUK IJN" şifrəli mesajını nəzərdən keçirin. Uzunluq sırası ilə Mors koduna çevirmək:
.–.-.–..—-..-...–..-...—.-.–..–.-..–...—-. 232313442431121334242
Rəqəmləri tərsinə çevirib deşifrələməklə, orijinal mesajı alırıq: "ACM GREATER NY REGION".
Bu şifrələmə sxeminin təhlükəsizliyi çox yüksək deyil, lakin Freddy bunun onun məqsədləri üçün kifayət olduğunu düşünür. Freddyə bu şifrələmə alqoritmini həyata keçirməkdə və onun həssas məlumatlarını qorumaqda kömək edərsinizmi?
Giriş verilənləri
Giriş, hər biri bir sətirdə olan Ohaverin alqoritması ilə kodlanmış bir neçə mesajdan ibarət olacaq. Hər bir mesaj yalnız iyirmi altı böyük hərf, alt xətt, vergül, nöqtə və sual işarəsindən istifadə edəcək. Mesajlar 1000 simvoldan çox olmayacaq.
Çıxış verilənləri
Girişdəki hər bir mesaj üçün, deşifrə olunmuş mesajı bir sətirdə çıxarın.