ধরুন আমাদের তিনটি সংখ্যা আছে n, a এবং b। বিবেচনা করুন আমরা এন জনগণের একটি লাইনে আছি। আর আমরা লাইনে আমাদের অবস্থান সম্পর্কে অবগত নই। কিন্তু আমরা জানি আমাদের সামনে অন্তত কিছু সংখ্যক লোক আছে এবং আমাদের পিছনে সবচেয়ে বেশি লোক আছে। আমাদের জন্য সম্ভাব্য সম্ভাব্য অবস্থানের সংখ্যা খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুটটি n =10 a =3 b =4 এর মত হয়, তাহলে আউটপুট 5 হবে, কারণ লাইনে 10 জন এবং কমপক্ষে 3 জন সামনে এবং সর্বাধিক 4 জন পিছনে রয়েছে। সুতরাং আমরা যে কোন স্থানে [0, 1, 2, 3, 4]। যখন আমরা 0 অবস্থানে থাকি তখন 9 জন সামনে, 0 জন পিছনে ইত্যাদি।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
যদি a + b
-
বি + 1
ফেরত দিন
-
-
যদি a + b>=n হয়, তাহলে
-
রিটার্ন n - a
-
উদাহরণ
আরও ভালোভাবে বোঝার জন্য আসুন নিম্নলিখিত বাস্তবায়ন দেখি
def solve(n, a, b): if a + b < n: return b + 1 if a + b >= n: return n - a n = 10 a = 3 b = 4 print(solve(n, a, b))
ইনপুট
10, 3, 4
আউটপুট
5