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

जांचें कि क्या सभी दुश्मन पायथन में एक मैट्रिक्स में रखे बम से मारे गए हैं

मान लीजिए हमारे पास एक मैट्रिक्स मैट है। इस प्रकार कुछ भिन्न मान हैं मैट्रिक्स की कोशिकाओं में इन 3 वर्णों में से कोई भी हो सकता है

  • 0 खाली क्षेत्र के लिए।
  • बम के लिए 1।
  • दुश्मनों के लिए 2.

अब बम एक सिरे से दूसरे सिरे तक केवल क्षैतिज और ऊर्ध्वाधर दिशाओं में ही विस्फोट कर सकता है। हमें यह जांचना होगा कि बम फटने पर सभी दुश्मन मर जाएंगे या नहीं।

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

0 0 2 0
0 1 0 0
0 2 0 0
0 0 1 0

तो आउटपुट सही होगा, क्योंकि [1, 1] जगह पर बम [2, 1] पर दुश्मन को भर सकता है और [0, 2] पर दुश्मन [3, 2] पर रखे बम से मारा जाएगा।

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

  • r :=चटाई की पंक्ति संख्या
  • c :=चटाई की कुल संख्या
  • i :=0, j :=0, x :=0, y :=0
  • मैं के लिए 0 से r -1 की सीमा में, करो
    • जे के लिए 0 से सी -1 की सीमा में, करो
      • अगर चटाई[i, j] 1 है, तो
        • x के लिए 0 से r-1 की सीमा में, करें
          • यदि मैट[x, j] 1 नहीं है, तो
            • चटाई[x, j] :=0
        • y के लिए 0 से c-1 की श्रेणी में, करें
          • अगर मैट[i, y] 1 नहीं है, तो
            • चटाई[i, y] :=0
  • मैं के लिए 0 से r -1 की सीमा में, करो
    • जे के लिए 0 से सी -1 की सीमा में, करो
      • यदि चटाई[i, j] 2 है, तो
        • झूठी वापसी
  • सही लौटें

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

उदाहरण

def solve(mat):
   r = len(mat)
   c = len(mat[0])
   i, j, x, y = 0, 0, 0, 0
   for i in range(r):
      for j in range(c):
         if mat[i][j] == 1:
            for x in range(r):
               if mat[x][j] != 1:
                  mat[x][j] = 0
            for y in range(c):
               if mat[i][y] != 1:
                  mat[i][y] = 0
   for i in range(r):
      for j in range(c):
         if mat[i][j] == 2:
            return False
   return True
matrix = [ [0,0,2,0], [0,1,0,0], [0,2,0,0], [0,0,1,0] ]
print(solve(matrix))

इनपुट

[
[0,0,2,0],
[0,1,0,0],
[0,2,0,0],
[0,0,1,0]
]

आउटपुट

True

  1. जांचें कि क्या दो पेड़ों के सभी स्तर विपर्ययण हैं या नहीं, पायथन में

    मान लीजिए, हमें दो बाइनरी ट्री दिए गए हैं। हमें यह जांचना है कि बाइनरी ट्री का प्रत्येक स्तर दूसरे बाइनरी ट्री के समान स्तर का विपर्ययण है या नहीं। यदि यह विपर्यय है तो हम सही लौटते हैं, अन्यथा हम गलत लौटते हैं। तो, अगर इनपुट पसंद है , तो आउटपुट ट्रू होगा। इसे हल करने के लिए, हम इन चरणों का पाल

  1. पायथन - जांचें कि क्या सूची में सभी तत्व समान हैं

    कभी-कभी हमें यह जांचने की आवश्यकता होती है कि क्या सूची में सूची तत्वों के रूप में हमारे पास एक एकल मान दोहराया गया है। हम नीचे दिए गए पायथन प्रोग्राम का उपयोग करके ऐसे परिदृश्य की जांच कर सकते हैं। अलग-अलग तरीके हैं। लूप के लिए उपयोग करना इस पद्धति में हम सूची से पहले तत्व को पकड़ते हैं और प्रत्ये

  1. पायथन प्रोग्राम यह जांचने के लिए कि क्या दो दिए गए मैट्रिसेस समान हैं

    यहाँ दो मैट्रिक्स दिए गए हैं। दोनों मैट्रिक्स का एक ही क्रम है। समान रूप से दो मैट्रिक्स समान होने चाहिए, दोनों मैट्रिक्स में पंक्तियों और स्तंभों की संख्या समान होनी चाहिए और संबंधित तत्व भी समान होने चाहिए। एल्गोरिदम Step 1: Create two matrix. Step 2: Then traverse every element of the first matr