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

C++ में दिए गए मैट्रिक्स के किसी भी उप-मैट्रिक्स के लिए अधिकतम ट्रेस संभव


इस समस्या में, हमें एक दो-आयामी सरणी arr[][] दी गई है। हमारा कार्य C++ में दिए गए मैट्रिक्स के किसी भी उप-मैट्रिक्स के लिए अधिकतम ट्रेस संभव ढूंढने के लिए एक प्रोग्राम बनाना है।

समस्या विवरण

हमें किसी भी उप-मैट्रिक्स के लिए अधिकतम ट्रेस ढूंढना होगा। ट्रेस मैट्रिक्स के मुख्य विकर्ण के तत्वों का योग है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

arr[][] ={{-2, 5, 3},           {1, 6, 2},           {4, 3, 9}}

आउटपुट

15

व्याख्या

उप-सरणी के लिए: {1, 6} {9, 3}

समाधान दृष्टिकोण

एक सरल समाधान 2-D सरणी के मुख्य विकर्ण के तत्व का उपयोग करके अधिकतम योग ढूंढना है। ट्रेस अधिकतम उपसरणी योग द्वारा दिया जाता है।

उदाहरण

हमारे समाधान के काम को दिखाने वाला प्रोग्राम,

#include <iostream> using namespace std; #define row 3 #define col 3 int CalcMaxTraceSubMat(int mat[row][col]){    int maxtraceSum = 0, r, c, traceSum;    for (int i = 0; i < row; i++){       for (int j = 0; j < col; j++){          r = i, c = j, traceSum = 0;          while (r < row && c < col){             traceSum += mat[r][c];             r++;             c++;             maxtraceSum = max(traceSum, maxtraceSum);          }       }    }    return maxtraceSum; } int main() {    int mat[row][col] = { {-2, 5, 6},                         {1, 6, 2},                         {4, 3, 9} };    cout<<"किसी भी उपमैट्रिक्स के लिए अधिकतम संभव ट्रेस है "<<CalcMaxTraceSubMat(mat);    return 0; }

आउटपुट

किसी भी उपमैट्रिक्स के लिए अधिकतम संभव ट्रेस है 15

  1. - C++ का उपयोग करके दिए गए एरे के इंडेक्स रेंज [L, R] में बिटवाइज OR के लिए क्वेरी

    इस लेख में, हमें पूर्णांकों का एक एरे दिया गया है। हमें दिए गए रेंज में मौजूद सभी संख्याओं का बिटवाइज OR खोजने का काम सौंपा गया है, उदाहरण के लिए: इनपुट: arr[] = {1, 3, 1, 2, 3, 4}, q[] = {{0, 1}, {3, 5}} आउटपुट: 3 7 1 OR 3 = 3 2 OR 3 OR 4 = 7 इनपुट: arr[] = {1, 2, 3, 4, 5}, q[] = {{0, 4}, {1, 3}}

  1. - C++ में दिए गए मैट्रिक्स में 1s के वर्ग सबमैट्रिक्स की संख्या गिनने का प्रोग्राम

    समस्या विवरण मान लीजिए हमारे पास एक 2D बाइनरी मैट्रिक्स है, हमें सभी 1s वाले सबमैट्रिक्स की कुल संख्या ढूंढनी है। उदाहरण के लिए, यदि इनपुट है: 110 110 001 तो आउटपुट 10 होगा, क्योंकि पांच 1×1 मैट्रिक्स, दो 2×1 मैट्रिक्स, दो 1×2 मैट्रिक्स और एक 2×2 मैट्रिक्स हैं। हल करने का दृष्टिकोण इस समस्या को

  1. ग्रिड में दी गई दिशा में संभावित चालों की गणना करने का C++ प्रोग्राम ग्रिड में दी गई दिशा में संभावित चालों की गणना करने का C++ प्रोग्राम

    समस्या विवरण हमें n x m आकार का ग्रिड और प्रारंभिक बिंदु (x, y) दिया गया है। साथ ही चालों/कदमों के जोड़े दिए गए हैं जैसे (1,1), (2,2) आदि। प्रत्येक जोड़ा x और y अक्ष में कदम की इकाइयों को दर्शाता है। लक्ष्य ग्रिड की सीमाओं [1,n] x [1,m] के भीतर ली जा सकने वाली कुल चालों की संख्या ज्ञात करना है। उदा