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

Python में कॉर्नर एलिमेंट्स की पैरिटी बदलकर मैट्रिक्स रूपांतरण की जांच कैसे करें?

मान लीजिए हमारे पास दो N X M बाइनरी मैट्रिक्स A और B हैं। एक ऑपरेशन में, हम एक उप-मैट्रिक्स (कम से कम 2x2) का चयन कर सकते हैं और कॉर्नर एलिमेंट्स की पैरिटी को बदल सकते हैं (बिट्स फ्लिप करें)। अंत में, हमें यह जांचना है कि क्या मैट्रिक्स A को किसी भी संख्या में ऑपरेशन करके B में बदला जा सकता है या नहीं।

तो, यदि इनपुट है

100
101
100


Python में कॉर्नर एलिमेंट्स की पैरिटी बदलकर मैट्रिक्स रूपांतरण की जांच कैसे करें?

तो आउटपुट True होगा क्योंकि हम mat1 पर शीर्ष बाएं 2x2 वर्ग उप-मैट्रिक्स पर ऑपरेशन करके mat2 प्राप्त कर सकते हैं।

हल करने के चरण

  • row := mat1 की पंक्ति संख्या
  • column := mat1 की स्तंभ संख्या
  • रेंज 1 से row - 1 तक के लिए i, करें:
    • रेंज 1 से column - 1 तक के लिए j, करें:
      • यदि mat1[i, j], mat2[i, j] के समान नहीं है, तो:
        • mat1[i, j] := mat1[i, j] XOR 1
        • mat1[0, 0] := mat1[0, 0] XOR 1
        • mat1[0, j] := mat1[0, j] XOR 1
        • mat1[i, 0] := mat1[i, 0] XOR 1
  • रेंज 0 से row - 1 तक के लिए i, करें:
    • रेंज 0 से column - 1 तक के लिए j, करें:
      • यदि mat1[i, j], mat2[i, j] के समान नहीं है, तो:
        • False लौटाएं
  • True लौटाएं

उदाहरण

def solve(mat1, mat2):
    row = len(mat1)
    column = len(mat1[0])
    for i in range(1, row):
        for j in range(1, column):
            if mat1[i][j] != mat2[i][j]:
                mat1[i][j] ^= 1
                mat1[0][0] ^= 1
                mat1[0][j] ^= 1
                mat1[i][0] ^= 1
    for i in range(row):
        for j in range(column):
            if mat1[i][j] != mat2[i][j]:
                return False
    return True

mat1 = [
    [1, 0, 0],
    [1, 0, 1],
    [1, 0, 0]]
mat2 = [
    [0, 1, 0],
    [0, 1, 1],
    [1, 0, 0]]
print(solve(mat1, mat2))

इनपुट

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

आउटपुट

True
  1. Python में TensorFlow का उपयोग करके मैट्रिक्स के विशिष्ट तत्वों/पंक्तियों का योग कैसे करें? Python में TensorFlow का उपयोग करके मैट्रिक्स के विशिष्ट तत्वों/पंक्तियों का योग कैसे करें?

    TensorFlow, Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ मिलकर एल्गोरिदम, डीप लर्निंग एप्लिकेशन और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग अनुसंधान और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें ऑप्टिमाइज़ेशन तकनीकें ह

  1. Python में मैट्रिक्स के खाली सेल चुनने के कितने तरीके हैं, इसकी जांच करने का प्रोग्राम Python में मैट्रिक्स के खाली सेल चुनने के कितने तरीके हैं, इसकी जांच करने का प्रोग्राम

    मान लीजिए हमारे पास एक N x N बाइनरी मैट्रिक्स है जहां 0 खाली सेल के लिए है और 1 ब्लॉक्ड सेल है, हमें N खाली सेल चुनने के तरीकों की संख्या ढूंढनी है ताकि हर पंक्ति और हर कॉलम में कम से कम एक चुना हुआ सेल हो। यदि उत्तर बहुत बड़ा है तो परिणाम mod 10^9 + 7 लौटाएंइसलिए, यदि इनपुट इस तरह है000000010तो आउट

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

    स्ट्रिंग को फ्लोट में पार्स करने के लिए, आप निम्नलिखित का उपयोग कर सकते हैं: try: print(float(112.15)) except ValueError: print(पार्स नहीं कर सकते) यह आपको आउटपुट देगा: 112.15 यदि आपका स्ट्रिंग पार्स नहीं किया जा सकता, तो यह एक वैल्यू एरर फेंकेगा। आप एक रैपर मेथड बना सकते हैं जो आपके द्वारा