একজন লিন্ডন শব্দ একটি স্ট্রিং যে কঠোরভাবে হয় lexicographically ছোট তার আবর্তনশীল ঘুর্ণন তুলনায়। একটি বাইনারি স্ট্রিং দেওয়া, এটি যতটা সম্ভব কম কয়েকটি বাইটে লিন্ডন শব্দ কিনা তা নির্ধারণ করুন।
উদাহরণস্বরূপ, 001011
একটি লিন্ডন শব্দ। নীচে তালিকাভুক্ত এর আবর্তনগুলি প্রথম প্রতীকটি শেষ পর্যন্ত বারবার দ্বারা প্রাপ্ত হয়।
001011
010110
101100
011001
110010
100101
এর মধ্যে মূল স্ট্রিংটি ডিক্সিকোগ্রাফিকভাবে প্রথমে আসে বা সমতুল্য, ক্ষুদ্রতম বাইনারি সংখ্যাকে উপস্থাপন করে।
তবে 001001
লিন্ডনের কোনও শব্দ নয় কারণ এর ঘূর্ণনগুলির একটি তার নিজের মতোই, যা এটি অভিধানের প্রথম দিকের জন্য সংযুক্ত করে।
ইনপুট: একটি খালি খালি বাইনারি স্ট্রিং বা অঙ্কগুলির তালিকা 0
এবং 1
। আপনি সংখ্যা ব্যবহার করতে পারবেন না , 5
উপস্থাপন করতে পছন্দ করুন 101
।
আউটপুট: একটি ধারাবাহিক সত্যবাদী বা ফলসী মান যা বলে যে স্ট্রিংটি লিন্ডন শব্দ কিনা।
লিন্ডন শব্দের জন্য বিশেষত বিল্ট-ইনগুলি অনুমোদিত নয়।
পরীক্ষার কেস:
6 অবধি দৈর্ঘ্যের লিন্ডন শব্দগুলি হ'ল:
0
1
01
001
011
0001
0011
0111
00001
00011
00101
00111
01011
01111
000001
000011
000101
000111
001011
001101
001111
010111
011111
4 অবধি দৈর্ঘ্যের নন-লিন্ডন শব্দগুলি হ'ল:
00
10
11
000
010
100
101
110
111
0000
0010
0100
0101
0110
1000
1001
1010
1011
1100
1101
1110
1111
লিডারবোর্ড:
x
যে সমানx
?