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

C++ कोड सभी बल्बों को जांचने के लिए चालू किया जा सकता है या नहीं

मान लीजिए कि हमारे पास n उप-सूचियों के साथ एक संख्या m और एक नेस्टेड सूची A है। विचार करें कि एम बल्ब हैं, शुरू में सभी बंद हैं। n बटन होते हैं और उनमें से प्रत्येक बल्ब के किसी न किसी सेट से जुड़ा होता है। तो A[i] बल्बों का सेट है जिसे ith स्विच दबाकर चालू किया जा सकता है। हमें जांचना होगा कि हम सभी बल्ब जला सकते हैं या नहीं।

इसलिए, यदि इनपुट ए =[[1, 4], [1, 3, 1], [2]] जैसा है; एम =4, तो आउटपुट ट्रू होगा, क्योंकि सभी स्विच को दबाकर हम चारों बल्बों को चालू कर सकते हैं।

कदम

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

Define one set s
for initialize i := 0, when i < size of A, update (increase i by 1), do:
   for initialize j := 0, when j < size of A[i], update (increase j by 1), do:
      insert A[i, j] into s
if size of s is same as m, then:
   return true
Otherwise
   return false

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
bool solve(vector<vector<int>> A, int m){
   set<int> s;
   for (int i = 0; i < A.size(); i++){
      for (int j = 0; j < A[i].size(); j++){
         s.insert(A[i][j]);
      }
   }
   if (s.size() == m)
      return true;
   else
      return false;
}
int main(){
   vector<vector<int>> A = { { 1, 4 }, { 1, 3, 1 }, { 2 } };
   int m = 4;
   cout <<solve(A, m) << endl;
}

इनपुट

{ { 1, 4 }, { 1, 3, 1 }, { 2 } }, 4

आउटपुट

1

  1. जाँच करें कि कोई ट्री आइसोमॉर्फिक है या नहीं C++ में

    एक बाइनरी ट्री में, प्रत्येक नोड में दो बच्चे होते हैं, अर्थात, बायाँ बच्चा और दायाँ बच्चा। मान लें कि हमारे पास दो बाइनरी ट्री हैं और कार्य यह जांचना है कि क्या एक पेड़ के बाईं ओर से दूसरे पेड़ को फ़्लिप करके प्राप्त किया जा सकता है या नहीं। एक पेड़ आइसोमॉर्फिक होता है अगर इसे दूसरे पेड़ के बाईं ओ

  1. जाँच करें कि C++ में कोई संख्या 23 से विभाज्य है या नहीं

    यहां हम एक प्रोग्राम देखेंगे, जो यह जांच सकता है कि कोई संख्या 23 से विभाज्य है या नहीं। मान लीजिए एक संख्या 1191216 दी गई है। यह 23 से विभाज्य है। विभाज्यता जांचने के लिए हमें इस नियम का पालन करना होगा - हर बार संख्या/छंटनी की गई संख्या का अंतिम अंक निकालें छोटी संख्या में 7 * (पिछली गणना की

  1. जांचें कि कोई संख्या कृष्णमूर्ति संख्या है या नहीं C++

    यहां हम देखेंगे कि किसी संख्या की जांच कैसे करें कृष्णमूर्ति संख्या है या नहीं। एक संख्या कृष्णमूर्ति संख्या होती है, यदि प्रत्येक अंक के भाज्य का योग संख्या के समान हो। उदाहरण के लिए, यदि कोई संख्या 145 है, तो योग =1! +4! +5! =1 + 24 + 120 =145। तो यह कृष्णमूर्ति संख्या है, तर्क सरल है, हमें प्रत्