মান লেন একটি সেন্সর মডিউল আছে যা এর নিকটবর্তী পরিবেশকে r ব্যাসার্ধ পর্যন্ত মনিটর করতে পারে। মডিউলটির মনিটরিং সার্কেলের ল্যাটিস পয়েন্টে কিছু জিনিস আছে যেগুলো মনিটর করা দরকার। তাই, k সংখ্যক লো-পাওয়ারড মডিউল রাখা হয়েছে যাতে সেগুলো শুধু সেই নির্দিষ্ট পয়েন্টগুলো মনিটর করতে পারে। ব্যাসার্ধের বর্গ এবং k সংখ্যক লো-পাওয়ারড মডিউল দেওয়া থাকলে, আমাদের বের করতে হবে পয়েন্টগুলো সঠিকভাবে মনিটর করা সম্ভব কিনা। মনিটরিং সম্ভব হলে true রিটার্ন করুন, অন্যথায় false।
উদাহরণস্বরূপ, ইনপুট ব্যাসার্ধের বর্গ (j) = 4, মনিটরিং পয়েন্ট (k) = 3 হলে আউটপুট হবে False।
যদি j = 4 হয়, তবে মনিটরিং সার্কেলের পরিধিতে ৪টি পয়েন্ট থাকে: (0,2), (0,-2), (2,0), (-2,0)। তাই যদি তিনটি নতুন মনিটরিং স্টেশন বসাই, পয়েন্টগুলো পুরোপুরি মনিটর করা সম্ভব নয়।
সমাধানের ধাপসমূহ
square_set := 44721পর্যন্ত বর্গ মান ধারণকারী একটি সেটi := 0, res := 0i < sqrt(j)থাকাকালীন লুপ চালান:যদি
j - i^2square_set-এ থাকে, তবেres += 1i += 1
res *= 4যদি
k >= resহয়, তবেTrueরিটার্ন করুনঅন্যথায়
Falseরিটার্ন করুন
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালোভাবে বুঝার জন্য:
square_set = set([z ** 2 for z in range(44722)])
def solve(j, k):
i = 0
res = 0
while i < (j ** 0.5):
if j - i ** 2 in square_set:
res += 1
i += 1
res *= 4
if k >= res:
return True
else:
return False
print(solve(4, 3)) ইনপুট
4, 3
আউটপুট
False