যদি একই বর্ণের ঘনকটি একাধিকবার ব্যবহার না করার নিয়মটিকে উপেক্ষা করা হয় তবে কীভাবে একটি নির্বিচারে বৃহত বগল গ্রিডে কোনও শব্দ সাজানো যেতে পারে তা বিবেচনা করুন । এছাড়াও ধরে নিন যে আপনার কাছে সীমাহীন সংখ্যক লেটার কিউব রয়েছে (সমস্ত অক্ষরের উপস্থিত রয়েছে), এবং ন্যায়সঙ্গত ।QuQ
শব্দটি MISSISSIPPI6 টি কিউব ব্যবহার করে সাজানো যেতে পারে। এখানে একটি সম্ভাব্য ব্যবস্থা রয়েছে:
S
MIS
PP
থেকে শুরু Mআমরা বারবার কোনো পদক্ষেপ অনুভূমিকভাবে, উল্লম্বভাবে বা তির্যকভাবে পর্যন্ত সমগ্র শব্দ বানান আউট যে পদক্ষেপ নেওয়া।
আশ্চর্যের বিষয়, এর মতো দীর্ঘতর বাক্যাংশের AMANAPLANACANALPANAMAজন্য কেবল 6 টি কিউব প্রয়োজন:
MAN
PLC
তবে দীর্ঘ সময়ের জন্য প্রয়োজনীয় ন্যূনতম সংখ্যা, আরও জটিল স্ট্রিং সর্বদা সুস্পষ্ট নয়।
চ্যালেঞ্জ
এমন একটি প্রোগ্রাম লিখুন যা কোনও স্ট্রিং নেয় এবং এটিকে এই বোগল-জাতীয় ফ্যাশনে এমনভাবে সাজিয়ে তোলে যাতে সর্বনিম্ন সংখ্যক কিউব ব্যবহৃত হয় । (ফলস্বরূপ গ্রিডের মাত্রাগুলি এবং খালি কোষের সংখ্যা অপ্রাসঙ্গিক))
ধরুন আপনার কাছে প্রতিটি মুদ্রণযোগ্য ASCII চরিত্রের জন্য স্থান (হেক্স কোড 21 থেকে 7 ই) ব্যতীত সীমাহীন সংখ্যক কিউব রয়েছে , যেহেতু এটি খালি গ্রিড সেল হিসাবে ব্যবহৃত হয়েছে। কেবল প্রিন্টযোগ্য এএসসিআইআই স্ট্রিংগুলি (ফাঁকা ছাড়াই) ইনপুট হবে।
স্টিডিন বা কমান্ড লাইন থেকে ইনপুট নেওয়া উচিত। আউটপুট stdout (বা নিকটতম বিকল্প) যেতে হবে।
আউটপুটে শীর্ষস্থানীয় বা পিছনে থাকা নিউলাইনগুলি এবং স্পেসগুলি ঠিক আছে (তবে আশা করা যায় এর মতো কোনও পরিমাণ নেই)।
স্ট্রিংটি দীর্ঘ হওয়ার সাথে সাথে অনুসন্ধানের স্থানটি দ্রুত প্রস্ফুটিত হয়, তবে আপনার অ্যালগরিদমকে দক্ষ করার চেষ্টা করার প্রয়োজন নেই (যদিও এটি দুর্দান্ত হবে :))। এটি কোড-গল্ফ, তাই বাইটগুলির মধ্যে সংক্ষিপ্ততম সমাধানটি জিতে।
উদাহরণ
ইনপুটটি যদি Oklahoma!(8 টি চরিত্রের ন্যূনতম) হয়, তবে এগুলি সমস্ত বৈধ আউটপুট হবে কারণ সমস্তেরই ঠিক 8 টি ভরাট গ্রিড কোষ রয়েছে এবং তারা (সংশোধিত) বগল রিডিং প্যাটার্ন অনুসরণ করে:
Oklaho
!m
অথবা
!
Oamo
klh
অথবা
lkO
!amo
h
প্রভৃতি