मान लीजिए एक द्वीप है। उस स्थान पर केवल एक दुकान है, यह दुकान हमेशा खुली रहती है सिवाय रविवार के। हमारे पास निम्नलिखित मान इनपुट के रूप में हैं:
- N (प्रति दिन कोई व्यक्ति अधिकतम कितना भोजन खरीद सकता है)।
- S (दिनों की संख्या जितने दिन जीवित रहना आवश्यक है)।
- M (प्रति दिन जीवित रहने के लिए आवश्यक भोजन की संख्या)।
यदि आज सोमवार है, और हमें अगले S दिनों तक जीवित रहना है। हमें यह जांचना है कि क्या हम जीवित रह सकते हैं या नहीं, यदि हम उन न्यूनतम दिनों की संख्या ज्ञात कर सकते हैं जिन पर हमें भोजन खरीदने की आवश्यकता है, ताकि हम अगले S दिनों तक जीवित रह सकें।
तो, यदि इनपुट S = 12, N = 24, M = 3 है, तो आउटपुट True होगा और न्यूनतम दिन जिन पर भोजन खरीदने की आवश्यकता है 2 हैं, क्योंकि हम 24 यूनिट भोजन का उपयोग करके 8 दिनों (वर्तमान सोमवार से अगले सोमवार तक) तक जीवित रह सकते हैं, फिर अगले 4 दिनों के लिए 12 यूनिट फिर से खरीद सकते हैं।
हल करने के चरण
- यदि (N * 6 < M * 7 और S > 6) या M > N, तो:
- False लौटाएं
- अन्यथा,
- count := (M * S) / N का भागफल
- यदि (M * S), N से विभाज्य है, तो:
- count := count + 1
- True और count लौटाएं
उदाहरण
def solve(S, N, M):
if ((N * 6) < (M * 7) and S > 6) or M > N:
return False
else:
count = (M * S) // N
if ((M * S) % N) != 0:
count += 1
return (True, count)
S = 12
N = 24
M = 3
print(solve(S, N, M))
इनपुट
12, 24, 3
आउटपुट
(True, 2)