ভূমিকা
দ্বিতীয় বিশ্বযুদ্ধে ব্যবহৃত প্রথম বৈদ্যুতিন-যান্ত্রিক রটার সাইফার মেশিনগুলির মধ্যে এনিগমা অন্যতম ছিল। এর মানে হল যে কোনও একক চিঠি কোড করার পরে এটি পরবর্তী অক্ষরের কীটি পরিবর্তন করবে। প্রচুর মূল স্থানের কারণে এটি জার্মানরা অবিচ্ছেদ্য বলে বিবেচিত হয়েছিল । এমনকি ব্রুট-জোর করাও প্রায় অসম্ভব ছিল। তবে এনিগমাতে একটি ডিজাইনের ত্রুটি ছিল। কোনও চিঠি এনক্রিপ্ট করা কখনই নিজের মধ্যে আসে না। এর অর্থ হ'ল চিঠিটি A
চিঠি ব্যতীত প্রতিটি চিঠিতে এনক্রিপ্ট করতে পারে A
।
কোডেড বার্তার একটি উদাহরণ নিই:
BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ
একটি সাধারণ জার্মান শব্দ ছিল WETTERBERICHT
, বা ইংরেজিতে আবহাওয়ার প্রতিবেদন। উপরোক্ত প্রিন্সিপালের সাথে, আমরা শব্দটি কোন স্থানে থাকতে পারে তা নির্ধারণ করতে পারি:
BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ
WETTERBERICHT
^
এটি সম্ভব নয়, কারণ I
এটিকে নিজের কাছে এনক্রিপ্ট করা যায় না, তাই আমরা 1 জায়গায় চলেছি:
BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ
WETTERBERICHT
^
এটিও সম্ভব নয়, তাই আমরা আবারও অন্য একটি জায়গায় চলে যাই:
BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ
WETTERBERICHT
^
এটি আবার সম্ভব নয়। আসলে, প্রথম সম্ভাব্য ঘটনাটি WETTERBERICHT
হ'ল:
BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ
WETTERBERICHT
0123456789012345678901234567890123456789012345678901234567890123
^
13
সুতরাং, আমরা প্রথম সম্ভাব্য ঘটনাটির 0-সূচিযুক্ত অবস্থানটি ফিরিয়ে দেব, যা 13 ।
কাজটি
- একটি কোডেড বার্তা এবং একটি শব্দ দেওয়া, প্রথম সম্ভাব্য ঘটনাটির সূচকটি সন্ধান করুন ।
- ধরে নিন যে কেবলমাত্র মূল বড় হাতের অক্ষরগুলি ব্যবহার করা হবে (
ABCDEFGHIJKLMNOPQRSTUVWXYZ
)। - যদি কোনও ঘটনা খুঁজে পাওয়া যায় না, আপনি কোনও নেতিবাচক পূর্ণসংখ্যা, চরিত্র বা কিছুই (যেমন
-1
,X
) আউটপুট করতে পারেন । - আলাদা নিউলাইন, তালিকা বা অন্য যে কোনও কিছুতে ইনপুটটি আর্গুমেন্ট হিসাবে গ্রহণ করা যেতে পারে।
- এটি কোড-গল্ফ , তাই সর্বনিম্ন পরিমাণ বাইটের সাথে জমাটি জয়!
পরীক্ষার মামলা
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
কখনই এর ফলশ্রুতিতে পরিণত হবে না E
। এই পুরো চ্যালেঞ্জ সম্পর্কে যা হয়।