একটি প্রোগ্রাম লিখুন যা দুটি লাইনের ইনপুট নেয় এবং প্লেফায়ার এনক্রিপশন কৌশল অনুসারে দ্বিতীয়টিকে এনক্রিপ্ট করার জন্য একটি মূল বাক্যাংশ হিসাবে প্রথমটি ব্যবহার করে।
উইকিপিডিয়া প্লেফায়ার এনক্রিপশনটিকে কিছু বিশদে বর্ণনা করে তবে কোনও অস্পষ্টতা এড়াতে এখানে একটি সংক্ষিপ্তসার দেওয়া হল:
1. একটি মূল টেবিল তৈরি করুন:
J
মূল বাক্যাংশের সমস্ত উপস্থিতি এর সাথে প্রতিস্থাপন করুন I
, তারপরে সমস্ত বর্ণমালার অক্ষর এবং পুনরাবৃত্ত অক্ষরগুলি সরিয়ে দিন। একটি 5 × 5 এনক্রিপশন টেবিল sertোকান, বাকী ঘরগুলি বাক্য বর্ণমালা দিয়ে পূরণ করুন (বাদে J
; আমরা পছন্দ করি না J
)।
উদাহরণ:
S T A C K
O V E R F
Stack Overflow --> STACKOVERFLW --> L W B D G
H I M N P
Q U X Y Z
2. এনক্রিপ্ট করা বার্তা প্রস্তুত
প্রত্যেকটির J
সাথে একটি প্রতিস্থাপন করুন I
, সমস্ত অ-বর্ণমালার অক্ষর X
কেটে জোড়ায় বিভক্ত করুন, একই অক্ষরটি দু'বার ভাঙার জন্য একটি ব্যবহার করে। আপনি যদি বিজোড় সংখ্যক অক্ষর X
দিয়ে শেষ করেন তবে শেষে যুক্ত করুন। (দ্রষ্টব্য: - সংখ্যাসূচক পূর্ণ বানান আউট আছে করা ONE
, TWO
, THREE
, ইত্যাদি - কিন্তু আপনার এই ইতিমধ্যে আপনার জন্য কাজ করা হয়েছে অনুমান করতে পারেন।)
উদাহরণ:
In:
The cat crept into the crypt, crapped, and crept out again.
Out:
TH EC AT CR EP TI NT OT HE CR YP TC RA PX PE DA ND CR EP TO UT AG AI NX
3. এনক্রিপশন
পরিবর্তে প্রতিটি জোড়া অক্ষর এনক্রিপ্ট করুন। যদি তারা কী সারণীর বিভিন্ন সারি এবং কলামগুলিতে থাকে তবে কলামের যেখানে অন্য অক্ষরটি পাওয়া যায় সেখানে একই সারির বর্ণটি দিয়ে প্রতিস্থাপন করুন (যেমন, VM
⇒ EI
, LZ
⇒ GQ
)। যদি তারা একই সারিতে থাকে (বা কলাম), অবিলম্বে দুটি অক্ষর ডানদিকে (বা নীচে) বেছে নিন, প্রয়োজনে চারদিকে মোড়ানো (যেমন, OE
⇒ VR
, ZG
⇒ KP
)।
উদাহরণ:
In:
TH EC AT CR EP TI NT OT HE CR YP TC RA PX PE DA ND CR EP TO UT AG AI NX
Out:
SI RA CA RD FM VU IC VS MO RD ZN AK EC MZ MF BC YN RD FM SV TV KB TM MY
এই প্রক্রিয়াটির দ্বারা উত্পাদিত স্ট্রিং হ'ল এনক্রিপ্ট হওয়া বার্তা, যা আপনার প্রোগ্রামটি আউটপুট করে।
নিয়মাবলী:
- ইনপুট পাঠ্য এবং কী
stdin
কমান্ড লাইন আর্গুমেন্ট বা এই জাতীয় অন্যান্য উত্স থেকে প্রাপ্ত হতে পারে । হার্ড-কোডেড ইনপুট অনুমোদিত নয়। - আপনার প্রোগ্রামটি অবশ্যই পাস বাক্যাংশ এবং বার্তার জন্য উপরের এবং নিম্ন উভয় ক্ষেত্রে পাঠ্য গ্রহণ করতে হবে।
- এনক্রিপ্ট করা আউটপুট আপার বা লোয়ার কেস হতে পারে।
- আপনার প্রোগ্রামটির দৈর্ঘ্যে কমপক্ষে characters৪ টি অক্ষরের মূল বাক্যাংশ এবং কমপক্ষে ১ KB কেবি বার্তা পাঠ্য হওয়া উচিত।
- আপনাকে নন-এসএসআইআই ইনপুট হ্যান্ডেল করার দরকার নেই।
- আপনি
XX
এনক্রিপশন চলাকালীন চিঠি জোড়া হওয়ার সম্ভাবনাটিকে উপেক্ষা করতে পারেন । - প্রোগ্রামের আউটপুটটিতে সাদা স্থান যুক্ত করার দরকার নেই।
- আপনার উত্তরে আপনার বার্তাটির একটি উদাহরণ, কী বাক্যাংশ এবং আপনার প্রোগ্রাম দ্বারা উত্পাদিত এনক্রিপ্ট করা আউটপুট অন্তর্ভুক্ত করা উচিত।
- এটি একটি কোড গল্ফ চ্যালেঞ্জ, সুতরাং সবচেয়ে সংক্ষিপ্ত কোডের উত্তর (বাইটে) জিতবে।
দ্রষ্টব্য: দয়া করে মনে রাখবেন যে কেবল একই জোড়ায় উপস্থিত হলে আপনার কেবল পরপর অক্ষরগুলি ভাঙ্গার প্রয়োজন । সুতরাং উদাহরণস্বরূপ
MASSACHUSETTS
এনক্রিপ্ট করা উচিতMA SX SA CH US ET TS
- ডাবলS
বিভক্ত করতে হবে, কিন্তু ডাবলT
না।
J
" আপনি কি এপিএল সম্পর্কে একইরকম অনুভূতি পোষণ করেন?