পটভূমি
আমার কাছে "সপ্তাহের দিন মোজা" এর একটি সংগ্রহ রয়েছে, যা সপ্তাহের দিনগুলিতে লেবেলযুক্ত সাত জোড়া মোজা। আমি যখন মোজা ধুয়ে নিই, তখন সেগুলি একটি গাদা হয়ে শেষ হয় এবং আমার পায়খানাগুলিতে রাখার আগে অবশ্যই তাদের সঠিক জোড়ায় সাজিয়ে তুলতে হবে। আমার কৌশলটি হ'ল একবারে স্তূপ থেকে একটি এলোমেলো মোজা টানতে এবং এটি একটি ড্রয়ারে রেখে দেওয়া। যখনই ড্রয়ারে একটি মোজা জোড়া মিল আছে, আমি এগুলি একসাথে বেঁধে এবং তাদের ক্লোজেটে রাখি। আপনার কাজটি এই র্যান্ডম প্রক্রিয়াটি অনুকরণ করা এবং প্রথম ম্যাচের জুটির সন্ধানের জন্য প্রয়োজনীয় অঙ্কনের সংখ্যাটি ফিরিয়ে দেওয়া।
ইনপুট
আপনার ইনপুটটি পূর্ণসংখ্যা N ≥ 1 । এটি "এক সপ্তাহে দিনের সংখ্যা" উপস্থাপন করে: স্তূপে এন জোড়া মোজা রয়েছে এবং প্রতিটি জোড়ের একটি পৃথক লেবেল রয়েছে। প্রয়োজনে আপনি ইনপুট হিসাবে একটি পিআরএনজি বীজও নিতে পারেন।
আউটপুট
আপনার আউটপুটটি হ'ল মোজাগুলির সংখ্যা হ'ল প্রথম মিলের জুড়িটি খুঁজে পাওয়ার আগে। উদাহরণস্বরূপ, যদি প্রথম দুটি মোজা ইতিমধ্যে একটি মিলে যাওয়া জুটি গঠন করে তবে আউটপুট হয় 2
।
অবশ্যই, আউটপুট এলোমেলো, এবং অঙ্কন ক্রমের উপর নির্ভর করে। আমরা ধরে নিই যে সমস্ত অঙ্কনের আদেশগুলি সমানভাবে সম্ভবত , যাতে প্রতিবার একটি মোজা আঁকবে, পছন্দটি অভিন্ন এবং অন্যান্য সমস্ত পছন্দ থেকে স্বতন্ত্র।
উদাহরণ
এন = 3 আসুন , যাতে আমাদের মোট 6 টি মোজা থাকে, এটিবিবিসিসির লেবেলযুক্ত । "সাক-অঙ্কন প্রোটোকল" এর একটি সম্ভাব্য রান নিম্নরূপ:
| Pile | Drawer | Pairs
Begin | AABBCC | - | -
Draw B | AABCC | B | -
Draw C | AABC | BC | -
Draw B | AAC | C | BB
Draw A | AC | AC | BB
Draw A | C | C | AA BB
Draw C | - | - | AA BB CC
দ্বিতীয় বি আঁকার পরে প্রথম মিলের জুটি পাওয়া গেল , যা আঁকতে তৃতীয় মোজা ছিল, সুতরাং সঠিক আউটপুট 3
।
বিধি এবং স্কোরিং
আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। সর্বনিম্ন বাইট গণনা জয়, এবং মান লুফোলগুলি অনুমোদিত নয়। ইনপুট এবং আউটপুট আনারি ( 1
গুলি এর স্ট্রিং ) সহ যে কোনও যুক্তিসঙ্গত বিন্যাসে থাকতে পারে ।
আপনি ধরে নিতে পারেন যে আপনার ভাষার অন্তর্নির্মিত আরএনজি নিখুঁত। আপনার আউটপুটগুলির যথাযথ সম্ভাবনা বন্টন না হওয়া পর্যন্ত আপনাকে প্রকৃতপক্ষে সোক-অঙ্কন প্রোটোকলটি অনুকরণ করতে হবে না।
"পরীক্ষার মামলাগুলি"
এন = 7 ইনপুটটির জন্য সমস্ত আউটপুটগুলির আনুমানিক সম্ভাবনাগুলি এখানে রয়েছে :
Output 2 3 4 5 6 7 8
Probability 0.077 0.154 0.210 0.224 0.186 0.112 0.037
আপনার সমাধানটি পরীক্ষা করার জন্য, আপনি এটিকে 40,000 বার বলে চালাতে পারেন এবং আউটপুট বিতরণটি যুক্তিযুক্তভাবে এটির নিকটে কিনা তা দেখুন।
Draw all socks. End up with an odd number.