Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में बल्ब स्विचर II

मान लीजिए कि n रोशनी वाला एक कमरा है जो शुरू में चालू है और दीवार पर 4 बटन मौजूद हैं। बटनों के लिए बिल्कुल अज्ञात संचालन करने के बाद, हमें यह वापस करने की आवश्यकता है कि एन रोशनी की कितनी अलग-अलग प्रकार की स्थिति हो सकती है। तो मान लें कि n रोशनी को संख्या [1, 2, 3 ..., n] के रूप में लेबल किया गया है, इन 4 बटनों के कार्य इस प्रकार हैं -

  • सभी लाइटों को पलटें।
  • सम संख्याओं के साथ फ़्लिप लाइट।
  • विषम संख्याओं के साथ फ़्लिप लाइट।
  • फ्लिप लाइट (3k + 1) संख्याओं के साथ, k =0, 1, 2, ...

अब अगर n =3 और m =1, तो 4 ऑपरेशन होंगे, ये हैं, [ऑफ, ऑन, ऑफ], [ऑन, ऑफ, ऑन], [ऑफ, ऑफ, ऑफ], [ऑफ, ऑन, ऑन ]

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • अगर n 0 है या m 0 है, तो 1 लौटाएं
  • अगर n 1 है, तो 2 लौटाएं
  • यदि n 2 है, तो 3 लौटाएं, जब m 1 हो, अन्यथा 4 लौटाएं
  • अगर मी 1 है, तो 4 लौटाएं
  • अगर मी 2 है, तो 7 लौटाएं, नहीं तो 8 लौटाएं।

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   int flipLights(int n, int m) {
      if (m == 0 || n == 0) return 1;
      if (n == 1) return 2;
      if (n == 2) return m == 1? 3:4;
      if (m == 1) return 4;
      return m == 2? 7:8;
   }
};
main(){
   Solution ob;
   cout << (ob.flipLights(3, 1));
}

इनपुट

3
1

आउटपुट

4

  1. C++ . में बल्ब स्विचर III

    मान लीजिए कि हमारे पास n बल्ब वाला एक कमरा है, इन्हें 1 से n तक क्रमांकित किया गया है, बाएं से दाएं एक पंक्ति में व्यवस्थित किया गया है। प्रारंभ में, सभी बल्ब बंद कर दिए जाते हैं। पल में k (k के लिए 0 से n -1 की सीमा में), हम प्रकाश [k] बल्ब को चालू करते हैं। एक बल्ब का रंग नीले रंग में तभी बदलता है

  1. सी ++ में शून्य कार्यों से लौटें

    शून्य कार्यों को शून्य कहा जाता है क्योंकि वे कुछ भी वापस नहीं करते हैं। एक शून्य फ़ंक्शन कुछ भी वापस नहीं कर सकता यह कथन हमेशा सत्य नहीं होता है। एक शून्य फ़ंक्शन से, हम कोई मान वापस नहीं कर सकते हैं, लेकिन हम मानों के अलावा कुछ और वापस कर सकते हैं। उनमें से कुछ नीचे की तरह हैं। एक शून्य फ़ंक्शन वा

  1. सी ++ में "ऑब्जेक्ट वापस कैसे करें"?

    एक वस्तु एक वर्ग का एक उदाहरण है। मेमोरी केवल तभी आवंटित की जाती है जब कोई ऑब्जेक्ट बनाया जाता है, न कि तब जब कोई वर्ग परिभाषित किया जाता है। किसी फ़ंक्शन द्वारा किसी ऑब्जेक्ट को रिटर्न कीवर्ड का उपयोग करके वापस किया जा सकता है। इसे प्रदर्शित करने वाला एक प्रोग्राम इस प्रकार दिया गया है - उदाहरण #i