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

दिए गए झंडे को जांचने के लिए C++ कोड छीन लिया गया है या नहीं

मान लीजिए कि हमारे पास n x m आकार का एक मैट्रिक्स है। प्रत्येक सेल में 0 से 9 तक एक मान होगा। एक ध्वज धारीदार होना चाहिए:ध्वज की प्रत्येक क्षैतिज पंक्ति में एक ही रंग के वर्ग होने चाहिए, और आसन्न क्षैतिज पंक्तियों के रंग अलग-अलग होने चाहिए। हमें यह जांचना होगा कि दिया गया मैट्रिक्स वैध ध्वज है या नहीं।

तो, अगर इनपुट पसंद है

0 0 0
1 1 1
3 3 3

कदम

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

n := row count of matrix
m := column count of matrix
l := 'm'
res := 1
for initialize i := 0, when i < n, update (increase i by 1), do:
   f := matrix[i, 0]
   for initialize j := 0, when j < m, update (increase j by 1),
do:
      if matrix[i, j] is not equal to f, then:
         res := 0
   if l is same as f, then:
      res := 0
   l := f
return (if res is non-zero, then true, otherwise false)

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
bool solve(vector<vector<int>> matrix){
   int n = matrix.size();
   int m = matrix[0].size();
   char l = 'm';
   bool res = 1;
   for (int i = 0; i < n; i++){
      char f = matrix[i][0];
      for (int j = 0; j < m; j++){
         if (matrix[i][j] != f)
            res = 0;
      }
      if (l == f)
         res = 0;
      l = f;
   }
   return res ? true : false;
}
int main(){
   vector<vector<int>> matrix = { { 0, 0, 0 }, { 1, 1, 1 }, { 3, 3, 3 } };
   cout << solve(matrix) << endl;
}

इनपुट

{ { 0, 0, 0 }, { 1, 1, 1 }, { 3, 3, 3 } }

आउटपुट

1

  1. जाँच करें कि दिया गया ट्री ग्राफ C++ में रैखिक है या नहीं

    यहां हम देखेंगे कि कैसे जांचा जाता है कि एक ट्री ग्राफ रैखिक है या नहीं। एक रैखिक वृक्ष ग्राफ को एक पंक्ति में व्यक्त किया जा सकता है, मान लीजिए कि यह एक रैखिक वृक्ष ग्राफ का एक उदाहरण है। लेकिन यह रैखिक नहीं है - यह जांचने के लिए कि ग्राफ रैखिक है या नहीं, हम दो शर्तों का पालन कर सकते हैं यद

  1. जांचें कि दी गई सरणी जोड़ीदार क्रमबद्ध है या नहीं सी ++ में

    हमारे पास n तत्वों के साथ एक सरणी A है। हमें यह जांचना होगा कि सरणी जोड़ीदार क्रमबद्ध है या नहीं। मान लीजिए कि सरणी {8, 10, 18, 20, 5, 15} जैसी है। यह जोड़ी के अनुसार क्रमबद्ध है (8, 10), (18, 20), (5, 15) क्रमबद्ध हैं। यदि सरणी में विषम संख्या में तत्व हैं, तो अंतिम को अनदेखा कर दिया जाएगा। दृष्टि

  1. C++ प्रोग्राम यह जांचने के लिए कि क्या दिया गया बाइनरी ट्री एक AVL ट्री है या नहीं

    AVL ट्री एक सेल्फ-बैलेंसिंग बाइनरी सर्च ट्री है जहां सभी नोड्स के लिए बाएं और दाएं सबट्री की ऊंचाई के बीच का अंतर एक से अधिक नहीं हो सकता है। यह एक C++ प्रोग्राम है जो यह जांचने के लिए है कि दिया गया बाइनरी ट्री एक AVL ट्री है या नहीं। एल्गोरिदम Begin function AVL() returns true if the given tree i