মান লিজিয়ে n যাত্রী একটি বিমানে চড়ে যায় যাতে ঠিক n সংখ্যা সিট আছে। প্রথম যাত্রী টিকিট হারিয়ে ফেলে এবং এলোমেলো একটি সিট বেছে নেয়। কিন্তু তারপর, বাকি যাত্রীদের এই নিয়মগুলো মেনে চলতে হবে -
- যদি তাদের নিজের টিকিটের সিট খালি থাকে, তবে সেটিতে বসবে,
- যদি তাদের সিট заняentz থাকে, তবে এলোমেলো অন্য কোনো সিট বেছে নেবে।
আমাদের বের করতে হবে n-তম যাত্রী তার নিজের সিট পাওয়ার প্রোবাবিলিটি কত? যদি ইনপুট 2 হয়, তবে আউটপুট হবে 0.5। অর্থাৎ দ্বিতীয় যাত্রীর দ্বিতীয় সিট পাওয়ার প্রোবাবিলিটি 0.5 (যখন প্রথম যাত্রী প্রথম সিট নেয়)।
সমাধান
- যদি n = 1 হয়, তবে 1 রিটার্ন করুন, অন্যথায় 0.5 রিটার্ন করুন।
উদাহরণ (C++)
বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশন দেখুন -
class Solution {
public:
double nthPersonGetsNthSeat(int n) {
if (n == 1) return 1;
return 0.5;
}
};
ইনপুট
2
আউটপুট
0.50000