period
একটি স্ট্রিং কম নন-জিরো শিফট যাতে স্ট্রিং নিজেই ম্যাচ, যে কোন যে অংশ ত্রিশঙ্কু উপেক্ষা করা হয়। উদাহরণস্বরূপ, abcabcab
সময়কাল আছে 3
। কনভেনশন দ্বারা আমরা বলি যে যদি এ জাতীয় কোনও শিফ্ট না থাকে তবে একটি স্ট্রিংয়ের দৈর্ঘ্য সমান হয়। মেয়াদ সুতরাং abcde
হয় 5
এবং মেয়াদ a
হয় 1
।
আরও আনুষ্ঠানিক শর্তে, একটি স্ট্রিং সময়কাল S
সর্বনিম্ন i > 0
যাতে S[1,n-i] == S[i+1,n]
(থেকে সূচক 1
)।
দুটি দৈর্ঘ্যের পাওয়ার স্ট্রিং এস এর জন্য আমরা তার দৈর্ঘ্যের শক্তির সমস্ত উপসর্গের সময়কাল গণনা করব। উদাহরণস্বরূপ, বিবেচনা করুন S = abcabcab
। আমরা গণনার সময়কালগুলি হ'ল:
'a', 1
'ab', 2
'abca', 3
'abcabcab', 3
আমরা আসলে পিরিয়ডের অ্যারে আউটপুট করব, এটি [1, 2, 3, 3]
।
দুটি প্রদত্ত ধনাত্মক শক্তির জন্য n
, সম্ভাব্য সমস্ত বাইনারি স্ট্রিং বিবেচনা করুন S
। পুনরাহ্বান যে একটি বাইনারি স্ট্রিং কেবল একটি স্ট্রিং 1
s এবং 0
গুলি তাই ঠিক হয় 2^n
যেমন স্ট্রিং (যে 2
ক্ষমতায় n
)। প্রত্যেকের জন্য আমরা পিরিয়ডের এই অ্যারে গণনা করতে পারি।
চ্যালেঞ্জটি হ'ল কোডটি লেখার জন্য যা
n
(দু'জনের শক্তি) ইনপুট হিসাবে গ্রহণ করে এবং এই জাতীয় অ্যারেগুলির মধ্যে কতগুলি পৃথক রয়েছে তা গণনা করে।
এর উত্তরগুলি হ'ল n = 1, 2, 4, 8, 16, 32, 64, 128
:
1, 2, 6, 32, 320, 6025, 216854, 15128807
এর জন্য স্বতন্ত্র সময়ের অ্যারেগুলির সম্পূর্ণ সেটটি n = 4
হ'ল:
1, 1, 1
1, 1, 3
1, 1, 4
1, 2, 2
1, 2, 3
1, 2, 4
স্কোর
আমি আপনার কোডটি আমার কম্পিউটারে উবুন্টু 10 মিনিটের জন্য চালিয়ে দেব। n
আপনার কোডটি সেই সময়ের মধ্যে সবচেয়ে বেশি যার জন্য আপনার কোডটি সমাপ্ত হয়। টাইয়ের ক্ষেত্রে, উত্তরটি যৌথ n
বৃহত্তমতম জয়ের সম্পূর্ণ করে । সময়সীমার মধ্যে 1 সেকেন্ডের মধ্যে টাই রয়েছে এমন ক্ষেত্রে, প্রথম উত্তরটি জয়লাভ করে।
ভাষা ও গ্রন্থাগার
আপনার পছন্দ মতো যে কোনও উপলভ্য ভাষা এবং গ্রন্থাগার ব্যবহার করতে পারেন। যদি সম্ভব হয় তবে লিনাক্সে কীভাবে আপনার কোডটি চালাতে / সংকলন করতে হবে তার সম্পূর্ণ ব্যাখ্যা অন্তর্ভুক্ত করুন `
আপনার কোডটি আসলে উত্তরগুলি গণনা করা উচিত এবং না উদাহরণস্বরূপ, কেবলমাত্র আউটপুট প্রাক্পম্পিউটেড মান।
নেতৃস্থানীয় এন্ট্রি
- 2 মিনিট এবং 21 সেকেন্ড জন্য এন = 128 মধ্যে সি # পিটার টেলর দ্বারা
- 9 সেকেন্ড জন্য এন = 32 মধ্যে মরচে isaacg দ্বারা
n
তবে আপনি কি তা গ্রহণ করবেন? হার্ডকোডিং এবং আসল কম্পিউটিংয়ের মধ্যে সীমানা কোথায় তা এটি যথাযথভাবে সংজ্ঞায়িত হয়নি।
abcab
। সবশেষে শেষ 3 টি অক্ষর abcab
। এই মিলগুলি, এবং অল্প সংখ্যক অক্ষর সরিয়ে ফেলা মেলে না।