একটি অলস পদার্থবিদ ডাবল চেরা পরীক্ষা করার কাজ আছে। যাইহোক, তারা অলস এবং সমস্ত সরঞ্জাম নিজেরাই সেট আপ করার জন্য বিরক্ত করা যায় না এবং তাই প্রভাবগুলি অনুকরণ করতে চলেছে। তারা প্রোগ্রাম সাহায্য করতে পারে না যদিও তাই কিছু সাহায্য প্রয়োজন হবে। তারা অলস হিসাবে আপনার প্রোগ্রামটি যতটা সম্ভব সংক্ষিপ্ত হওয়া উচিত।
একটি বিজোড় ধনাত্মক পূর্ণসংখ্যা দেওয়া n
( n >= 1
এবং n % 2 == 1
), সিমুলেশনটি সম্পাদন করুন।
কিভাবে এটা কাজ করে
আপনি একটি খালি ক্যানভাস দিয়ে শুরু করবেন এবং প্রতিটি ফ্রেম আলোর একক কণিকাটি স্লিটস এবং ক্যানভাসে অবতরণ করবে। কণাটি একটি ম্যাক্সিমায় অবতরণ করবে এমন সুযোগ নিয়ে:
n = 1
:
+-----+
| |
| 1/2 |
| |
+-----+
n = 3
:
+-----+ +-----+ +-----+
| | | | | |
| 1/4 | | 1/2 | | 1/4 |
| | | | | |
+-----+ +-----+ +-----+
n = 5
:
+-----+ +-----+ +-----+ +-----+ +-----+
| | | | | | | | | |
| 1/8 | | 1/4 | | 1/2 | | 1/4 | | 1/8 |
| | | | | | | | | |
+-----+ +-----+ +-----+ +-----+ +-----+
প্রভৃতি
উদাহরণস্বরূপ n=5
আমরা মধ্যবর্তী বাক্সটি পরীক্ষা করে দেখি, এটিতে পড়ার 50% সম্ভাবনা রয়েছে। যদি এটি ফ্রেমের শেষের দিকে পড়ে, পরের দুটিটিতে না সরানো হয় তবে 25% এর মধ্যে পড়ে যাওয়ার সম্ভাবনা রয়েছে। যদি এটি ফ্রেমের শেষের দিকে পড়ে, পরের দুটিটিতে না সরানো হয় তবে 12.5% এর মধ্যে পড়ে যাওয়ার সম্ভাবনা রয়েছে। যদি এটি না পড়ে তবে এটি কোনও বিষয় নয়, এটি এখনও ফ্রেমের শেষ।
সম্ভাবনাগুলি কীভাবে গণনা করা যায় তা নিয়ে কিছু বিভ্রান্তি দেখা দিয়েছে, এর বেশিরভাগটি তাদের সম্ভাব্যতা হিসাবে বিবেচনা করা লোকদের কারণ যা তাদের 1 যোগ করা উচিত that
- সর্বাধিক একটি কণা ফ্রেম প্রতি ল্যাড হবে, এর অর্থ একটি কণা সেই ফ্রেমে কিছুতেই অবতরণ করতে পারে না।
- একটি কণা যে কোনও মুদ্রণযোগ্য চরিত্র দ্বারা প্রতিনিধিত্ব করা যেতে পারে।
- কণাটি এলোমেলো সুযোগ নিয়ে বাক্সের যে কোনও জায়গায় অবতরণ করবে।
- বাক্সগুলির প্রস্থটি
2n-1
ক্যানভাসের আকার হওয়া উচিত । সুতরাংn=5
তারা1/9
ক্যানভাস প্রস্থের হওয়া উচিত । - বাক্সগুলির উচ্চতা ক্যানভাসের উচ্চতা হওয়া উচিত।
- কণা বাক্সের বাইরে মোটেও অবতরণ করা উচিত নয়।
- যদি কোনও কণা ইতিমধ্যে এমন কোনও স্থানে অবতরণ করে থাকে যেটিকে বেছে নেওয়া হয়েছে তবে এটি আবার সেখানে অবতরণ করতে পারে তাতে কোনও फरक নেই।
- উপরের এসকি বাক্সগুলি স্পষ্টতার জন্য, সেগুলি আঁকানো উচিত নয়।
- যুক্তিসঙ্গত হিসাবে আপনি নিজের ক্যানভাস আকারটি চয়ন করতে পারেন। উদাহরণস্বরূপ, এটি কেবল কয়েক পিক্সেল উচ্চ হতে হবে না। এটিতে এটিতে থাকা সমস্ত বাক্সই ফিট করতে সক্ষম হওয়া উচিত।
- যদি আপনার কোড ফ্রেমের মধ্যে ঘুমায় তবে আপনার এটিকে আপনার বাইট গণনায় যুক্ত করার দরকার নেই।
ম্যাক্সিমার প্রতিটি, একটি মিনিমা মধ্যে ফাঁক হওয়া উচিত। এটি বাক্সের সমান প্রস্থ হওয়া উচিত তবে কোনও কণা সেখানে প্রবেশ করবে না। নিম্নলিখিত চিত্রটি দেখুন:
+---+---+---+---+---+
| | | | | |
|max|min|max|min|max|
| | | | | |
+---+---+---+---+---+
প্রোগ্রামটি ম্যানুয়ালি বন্ধ না হওয়া পর্যন্ত চলতে হবে।
বিধি
- একটি সিউডো এলোমেলো নম্বর জেনারেটর (পিআরএনজি) ঠিক আছে।
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
- ইনপুট যে কোনও যুক্তিসঙ্গত ফর্ম্যাট দ্বারা নেওয়া যেতে পারে।
- আপনার STDOUT এ আউটপুট করা উচিত।
- এটি কোড-গল্ফ তাই সংক্ষিপ্ত উত্তর জেতে।
উদাহরণ
নিম্নলিখিত জিআইএফ জন্য চালানো একটি উদাহরণ n = 5
। আমি কেবল এটিকে দ্রুত ছিটকেছি তাই সম্ভাবনাগুলি কিছুটা বন্ধ হয়ে যেতে পারে।