ধরুন আমাদের একটি স্থানাঙ্ক বিন্দু (x, y) এবং আরেকটি মান n আছে। আমরা n ধাপ ব্যবহার করে (0, 0) থেকে (x, y) এ যেতে পারি কিনা তা পরীক্ষা করতে হবে। আমরা চারটি দিক বাম, ডান, উপরে এবং নিচে যেকোনও যেতে পারি।
সুতরাং, যদি ইনপুট হয় p =(2, 1) n =3, তাহলে আউটপুট হবে True আমরা দুই ধাপ ডানে তারপর এক ধাপ উপরের দিকে যেতে পারি।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি n>=|p এর x| + |y এর p| এবং (n -(|p এর x| + | p এর y|)) জোড়, তারপর
- সত্য ফেরান
- মিথ্যে ফেরত দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(p, n): if n >= abs(p[0]) + abs(p[1]) and (n - (abs(p[0]) + abs(p[1]))) % 2 == 0: return True return False p = (2, 1) n = 3 print(solve(p, n))
ইনপুট
(2, 1), 3
আউটপুট
True