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

C++ में दी गई बाधाओं के साथ N*N मैट्रिक्स में अधिकतम संख्या


यह देखते हुए कि कार्य निम्नलिखित बाधाओं के साथ संभव बाइनरी मैट्रिक्स में अधिकतम संख्या खोजने के लिए है।

दो पूर्णांक N और X दिए गए हैं जहाँ X<=N. बाइनरी मैट्रिक्स का आकार N*N होना चाहिए और X*X आकार के प्रत्येक उप-मैट्रिक्स में कम से कम एक शून्य होना चाहिए।

आइए अब समझते हैं कि हमें एक उदाहरण का उपयोग करके क्या करना है -

इनपुट -एन=4, एक्स=2

आउटपुट -12

स्पष्टीकरण - परिणामी मैट्रिक्स होगा -

1 1 1 1
1 0 0 1
1 0 0 1
1 1 1 1

इनपुट -एन=7, एक्स=3

आउटपुट - 45

निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है

  • अधिकतम संख्या प्राप्त करने के लिए, पहले हमें दिए गए मैट्रिक्स में आवश्यक शून्य की न्यूनतम संख्या ज्ञात करनी होगी।

    सभी आव्यूहों में एक समान पैटर्न को देखने से यह देखा जा सकता है कि आवश्यक शून्यों की संख्या =(N / X) 2

    तो अधिकतम संख्या =मैट्रिक्स में कुल तत्व - शून्य की संख्या\

  • फंक्शन में MaxOne() एक वेरिएबल Z टाइप इंट बनाएं और उसमें न्यूनतम आवश्यक ज़ीरो स्टोर करें जो कि (N / X) 2 के बराबर हो

  • फिर मैट्रिक्स के कुल आकार को संग्रहीत करने के लिए एक अन्य चर कुल =N*N प्रकार int प्रारंभ करें।

  • फिर अंत में int ans =Total – Z को इनिशियलाइज़ करें ताकि फाइनल आंसर को स्टोर किया जा सके और ans लौटाया जा सके।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int MaxOne(int N, int X){
   // Minimum number of zeroes that are needed
   int Z = (N / X);
   Z = Z * Z;
   /* Totol elements in matrix = square of the size of the matrices*/
   int total =N * N;
   //Final answer
   int ans = total - Z;
   return ans;
}
int main(){
   int N = 4;
   int X = 2;
   cout << MaxOne(N, X);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्न आउटपुट मिलेगा -

12

  1. सी ++ में मैट्रिक्स में गुहाओं की संख्या पाएं

    विचार करें कि एक मैट्रिक्स दिया गया है। हमें मैट्रिक्स में गुहाओं की संख्या का पता लगाना है। एक तत्व को कैविटी के रूप में निरूपित किया जाता है जब उसके आस-पास के सभी तत्व तत्व से बड़े होते हैं। तो अगर मैट्रिक्स की तरह है - 4 5 6 7 1 5 4 5 6 तो आउटपुट 1 है। हम बस आसपास के तत्वों की जांच करते है

  1. सी ++ का उपयोग कर मैट्रिक्स में अधिकतम योग के साथ कॉलम खोजें।

    मान लीजिए कि हमारे पास एम एक्स एन आकार का एक मैट्रिक्स है। हमें कॉलम ढूंढना है, जिसमें अधिकतम योग है। इस कार्यक्रम में हम कुछ मुश्किल दृष्टिकोण का पालन नहीं करेंगे, हम सरणी कॉलम-वार को पार करेंगे, फिर प्रत्येक कॉलम का योग प्राप्त करेंगे, यदि योग अधिकतम है, तो योग और कॉलम इंडेक्स प्रिंट करें। उदाहरण

  1. जांचें कि दिए गए उत्पाद के साथ एक जोड़ी सी ++ में मैट्रिक्स में मौजूद है या नहीं

    हमारे पास ऑर्डर एन एक्स एम का एक मैट्रिक्स है और एक उत्पाद के। कार्य यह जांचना है कि दिए गए उत्पाद के साथ एक जोड़ी मैट्रिक्स में मौजूद है या नहीं। मान लीजिए कि एक मैट्रिक्स नीचे जैसा है - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 अब यदि K 42 है, तो एक जोड़ी है जैसे (6, 7) इस समस्या को हल करने