এই আয়না: |
। আমি সবেমাত্র জানতে পেরেছি যে স্ট্রিংটি নিজেই মিরর করা যায় যদি আপনি একটি স্ট্রিংয়ের মাঝখানে একটি আয়না আটকে রাখতে পারেন! উদাহরণস্বরূপ, স্ট্রিং abccba
। যদি আপনি এটি অর্ধেক কাটা হয় তবে দুটি অংশই একে অপরের মিরর চিত্র:
abc <--> cba
সুতরাং, আমরা স্ট্রিংয়ের মাঝখানে একটি আয়না আটকে রাখতে পারি, এবং আমাদের নতুন স্ট্রিংটি abc|cba
। কখনও কখনও কেবল স্ট্রিংয়ের কিছু অংশ নিজেই মিরর করা যায়। উদাহরণস্বরূপ, স্ট্রিং "মিরর"। দুটি আর মিরর করা হয়েছে, তবে বাকী স্ট্রিংটি তা নয়। এটি ঠিক আছে, আমরা কেবল স্ট্রিংয়ের অংশগুলি সরিয়ে দেব যা একে অপরকে আয়না দেয় না এবং আমরা নিম্নলিখিত স্ট্রিংটি পাই:
r|r
কিছু স্ট্রিং একাধিক জায়গায় মিরর করা যেতে পারে। উদাহরণস্বরূপ, "হ্যালো ওয়ার্ল্ড, জাইজিজেক্স"। আমি আমার আয়নাতে অনেকগুলি প্রতিবিম্ব প্রতিবিম্বিত হওয়া পছন্দ করি, তাই আমার আয়না রাখার জন্য আপনার সেরা জায়গাটি খুঁজে নেওয়া উচিত। এই ক্ষেত্রে, আপনার দীর্ঘ মিররযুক্ত স্ট্রিংটি আউটপুট করা উচিত এবং আমাদের শেষ উদাহরণের মতো, সমস্ত কিছু সরিয়ে ফেলুন। এই স্ট্রিংটি হয়ে যায়:
xyz|zyx
কিছু স্ট্রিং দেখে মনে হচ্ছে এগুলি মিরর করা যায়, তবে বাস্তবে তা করা যায় না। যদি কোনও স্ট্রিং কোথাও মিরর করা যায় না, আপনার কিছুই আউটপুট করা উচিত নয়।
চ্যালেঞ্জ:
কেবল মুদ্রণযোগ্য-এসকিআই সমন্বিত একটি স্ট্রিং দেওয়া হয়েছে, আমার আয়না রাখার জন্য সেরা স্থানটি সন্ধান করুন। অন্য কথায়,
বৃহত্তম সম-দৈর্ঘ্যের প্যালিনড্রোমিক সাবস্ট্রিং সন্ধান করুন, তারপরে এটি একটি পাইপের অক্ষর দিয়ে আউটপুট করুন '|' এটির মাঝখানে
ইনপুটটি 1-50 অক্ষর দীর্ঘ হবে।
আপনি ধরে নিতে পারেন |
ইনপুটটিতে আয়না বা নিউলাইন থাকবে না । এর বাইরে, সমস্ত মুদ্রণযোগ্য-আসকি অক্ষরগুলি মেলা খেলা। দীর্ঘতম মিররযুক্ত সাবস্ট্রিং যদি দুটি সাবস্ট্রিংয়ের মধ্যে আবদ্ধ থাকে তবে আউটপুটটি বেছে নিতে পারেন। উদাহরণস্বরূপ, "আব্বা ওলো" স্ট্রিংয়ের জন্য আপনাকে অবশ্যই "আব | বা" বা "অল | লো" আউটপুট দিতে হবে তবে আপনি কোনটি আউটপুট দিচ্ছেন তা বিবেচ্য নয়। স্ট্রিংগুলি কেস-সংবেদনশীল, উদাহরণস্বরূপ "ABBA" "AB | ba" আউটপুট করা উচিত নয় , এটি খালি স্ট্রিংটিকে আউটপুট দেয়।
নমুনা আইও:
"Hello World" --> "l|l"
"Programming Puzzles and Code-Golf" --> Either "m|m" or "z|z"
"abcba" --> ""
"Hulluh" --> "ul|lu"
"abcdefggfedcba" --> "abcdefg|gfedcba"
"abcdefggfabc" --> "fg|gf"
"AbbA" --> "Ab|bA"
"This input is a lot like the last one, but with more characters that don't change the output. AbbA" --> "Ab|bA"
যথারীতি, এটি কোড-গল্ফ, সুতরাং মানক লুফোলগুলি প্রয়োগ হয় এবং বাইটের মধ্যে সংক্ষিপ্ত উত্তরটি জিতে যায়!