একটি স্ট্রিং দেওয়া হয়েছে l
, (ডুপ্লিকেট এবং একক অক্ষরের স্ট্রিং সহ) p
এর সমস্ত প্যালিনড্রোমিক সাবস্ট্রিংগুলি সন্ধান করুন l
। এর পরে, সমস্ত উপ-স্ট্রিংগুলিকে p
একটি বৈধ প্যালিনড্রোমে পুনরায় সাজান (একাধিক সঠিক উত্তর থাকতে পারে)। যদি p
কোনও একক প্যালিনড্রোমে পুনরায় সাজানো সম্ভব না হয় তবে আপনার প্রোগ্রামটির অপরিজ্ঞাত আচরণ থাকতে পারে (ত্রুটি, স্ট্যাক-ওভারফ্লো, প্রস্থান করা, জন ডভোরাকের হত্যার / অকালীন হত্যা ইত্যাদি))
উদাহরণ
বৈধ পরীক্ষার কেস
l = anaa
p = ['a', 'n', 'a', 'a', 'aa', 'ana']
result = anaaaaana or aanaaanaa or aaananaaa
l = 1213235
p = ['1', '2', '1', '3', '2', '3', '5', '121', '323']
result = 1213235323121
l = racecar
p = ['r', 'a', 'c', 'e', 'c', 'a', 'r', 'cec', 'aceca', 'racecar']
result = racecarcecaacecracecar (there are others)
l = 11233
p = ['1', '11', '1', '2', '3', '33', '3']
result = 113323311 or 331121133
l = abbccdd
p = ['a', 'b', 'bb', 'b', 'c', 'cc', 'c', 'd', 'dd', 'd']
result = bbccddaddccbb or ccbbddaddbbcc or (etc...)
l = a
p = ['a']
result = a
অবৈধ পরীক্ষার কেস (সম্ভাব্য নয়)
l = 123456789
p = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
result = <not possible, behavior undefined>
l = hjjkl
p = ['h', 'j', 'jj', 'j', 'k', 'l']
result = <not possible, behavior undefined>
l = xjmjj
p = ['x', 'j', 'jmj', 'm', 'j', 'jj', 'j']
result = <not possible, behavior undefined>
বিধি
- যদি ইনপুট শব্দটি নিজেই একটি প্যালিনড্রোম হয় তবে এটি সর্বদা ইনপুট হিসাবে কার্যকর হবে।
- কেবল একটি মাত্র স্ট্রিং ফেরত দেওয়া উচিত, আপনি যেটি বেছে নিয়েছেন তা বৈধ হওয়া পর্যন্ত নির্বিচারে।
- যদি ইনপুটটির কোনও व्यवहारযোগ্য আউটপুট না থাকে তবে আপনার কোডটির অপরিবর্তিত আচরণ থাকতে পারে।
- ইনপুটগুলির মধ্যে কেবল ASCII- মুদ্রণযোগ্য অক্ষর থাকবে
0x20-0x7E
। - এটি কোড-গল্ফ , সর্বনিম্ন বাইট-কাউন্টটি বিজয়ী।
"abbccdd"
ভুল: অন্তিম দুটি বর্ণ হওয়া উচিত"bb"
, তাই না"dd"
।