मान लीजिए कि हमारे पास दो मान n और m हैं; हमें 2x1 आकार के आयतों की संख्या ज्ञात करनी है जिन्हें n x m आकार के आयत के अंदर सेट किया जा सकता है। कुछ शर्तें हैं, जिन पर हमें विचार करना होगा -
-
कोई भी दो छोटे आयत ओवरलैप नहीं कर सकते।
-
हर छोटा आयत पूरी तरह से बड़े के अंदर होता है। इसे बड़े आयत के किनारों को छूने की अनुमति है।
तो, अगर इनपुट पसंद है
n =3, m =3, तो आउटपुट 4 होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
अगर n mod 2 0 के समान है, तो
-
वापसी(एन / 2) * एम
-
-
अन्यथा जब m mod 2 0 हो, तब
-
वापसी(एम / 2) * एन
-
-
वापसी (एन * एम -1) / 2
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def count_rect(n, m): if (n % 2 == 0): return (n / 2) * m elif (m % 2 == 0): return (m // 2) * n return (n * m - 1) // 2 n = 3 m = 3 print(count_rect(n, m))
इनपुट:
3, 3
आउटपुट
4