मान लीजिए कि हमारे पास क्रमशः N और M आकार के दो सरणियाँ A और B हैं और हमारे पास एक N X M बाइनरी मैट्रिक्स भी है जहाँ 1 यह दर्शाता है कि मूल मैट्रिक्स में एक धनात्मक पूर्णांक था और 0 का अर्थ है कि स्थिति 0 को मूल मैट्रिक्स में भी पकड़ रही है। हमें मूल मैट्रिक्स उत्पन्न करना होगा ताकि A[i] ith पंक्ति में सबसे बड़े तत्व को और B[j] jth कॉलम में सबसे बड़े तत्व को इंगित करे।
इसलिए, यदि इनपुट A =[4, 2, 3], B =[3, 1, 0, 0, 4, 0, 5] मैट्रिक्स जैसा है, तो आउटपुट मैट्रिक्स होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
N:=A का आकार
-
एम:=बी का आकार
-
मेरे लिए 0 से N की सीमा में, करें
-
j के लिए 0 से M की सीमा में, करें
-
अगर mat[i, j] 1 के समान है, तो
-
न्यूनतम A[i] और B[j]
. प्रदर्शित करें
-
-
अन्यथा,
-
एक नई लाइन प्रिंट करें
-
-
-
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def print_original_mat(A, B, mat) : N = len(A) M = len(B) for i in range(N) : for j in range(M) : if (mat[i][j] == 1) : print(min(A[i], B[j]), end = " ") else : print(0, end = " ") print() A = [4, 2, 3] B = [3, 1, 0, 0, 4, 0, 5] mat = [ [1, 0, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, 1], [1, 1, 0, 1, 1, 0, 0]] print_original_mat(A, B, mat);
इनपुट
[4, 2, 3], [3, 1, 0, 0, 4, 0, 5], [[1, 0, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, 1], [1, 1, 0, 1, 1, 0, 0]]
आउटपुट
3 0 0 0 4 0 4 0 0 0 0 0 0 2 3 1 0 0 3 0 0