मान लीजिए, एक फर्श है जिसे n पंक्तियों और m स्तंभों वाले ग्रिड में विभाजित किया गया है। अब फर्श को लैंप का उपयोग करके रोशन करना है। एक लैंप, यदि दो सेल की सीमा पर रखा जाता है, तो दो सेल को रोशन कर सकता है। यदि लैंप ऊर्ध्वाधर सीमा पर रखा जाता है, तो यह अपने बाएं और दाएं सेल को रोशन करता है और यदि इसे क्षैतिज सीमा पर रखा जाता है, तो यह अपने सामने और पीछे के सेल को रोशन करता है। n और m दिए गए हैं, हमें पूरे फर्श को रोशन करने के लिए आवश्यक लैंप की न्यूनतम संख्या ढूंढनी है।
उदाहरण के लिए, यदि इनपुट n = 5, m = 3 है, तो आउटपुट 8 होगा।
चरण
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
res := (n * m + 1) / 2 return res
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#include <bits/stdc++.h> using namespace std; #define N 100 int solve(int n, int m) { int res = (n * m + 1) / 2; return res; } int main() { int n = 5, m = 3; cout<< solve(n, m); return 0; }
इनपुट
5, 3
आउटपुट
8