কম্পিউটার

ম্যাট্রিক্সে উপাদানের সংখ্যা খুঁজে পাওয়ার প্রোগ্রামটি পাইথনে সারি কলামের মানদণ্ড অনুসরণ করে


ধরুন আমাদের একটি বাইনারি ম্যাট্রিক্স আছে; আমাদের ম্যাট্রিক্সের উপাদানগুলির সংখ্যা খুঁজে বের করতে হবে যা নিম্নলিখিত নিয়মগুলি অনুসরণ করে −

  • ম্যাট্রিক্স[r, c] =1

  • ম্যাট্রিক্স[r, j] =0 প্রতিটি j এর জন্য যখন j c এর সমান নয় এবং ম্যাট্রিক্স[i, c] =0 প্রতিটি i এর জন্য যখন i r এর সমান নয়।

সুতরাং, যদি ইনপুট মত হয়

0 0 1
1 0 0
0 1 0

তাহলে আউটপুট হবে 3, কারণ আমাদের সেল আছে (0,2), (1,0) এবং (2,1) যেগুলো মানদণ্ড পূরণ করে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি ম্যাট্রিক্স খালি হয়, তাহলে

    • রিটার্ন 0

  • সারি :=ম্যাট্রিক্সে সমস্ত সারি এন্ট্রির যোগফলের একটি তালিকা

  • col :=ম্যাট্রিক্সে সমস্ত কলাম এন্ট্রির যোগফলের একটি তালিকা

  • m :=ম্যাট্রিক্সের সারি গণনা

  • n :=ম্যাট্রিক্সের কলাম গণনা

  • res :=0

  • 0 থেকে m - 1 রেঞ্জের জন্য, করুন

    • 0 থেকে n - 1 পরিসরে c এর জন্য, করুন

      • যদি ম্যাট্রিক্স[r, c] 1 হয় এবং সারি[r] 1 হয় এবং col[c]ও 1 হয়, তাহলে

        • res :=res + 1

  • রিটার্ন রিটার্ন

উদাহরণ

আরও ভালোভাবে বোঝার জন্য আসুন নিম্নলিখিত বাস্তবায়ন দেখি

def solve(matrix):
   if not matrix:
      return 0

   row = [sum(r) for r in matrix]
   col = [sum(c) for c in zip(*matrix)]

   m, n = len(matrix), len(matrix[0])
   res = 0
   for r in range(m):
      for c in range(n):
         if matrix[r][c] == 1 and row[r] == 1 and col[c] == 1:
            res += 1
   return res

matrix = [
   [0, 0, 1],
   [1, 0, 0],
   [0, 1, 0]
]
print(solve(matrix))

ইনপুট

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

আউটপুট

3

  1. পাইথনে ম্যাট্রিক্সে একটি Z আকৃতি তৈরি করে এমন উপাদানগুলির যোগফল খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে প্রদত্ত ঘরের সারি এবং-বা কলামের উপাদানগুলি ছাড়া একটি ম্যাট্রিক্সের সমস্ত উপাদানের যোগফল খুঁজুন

  3. পাইথন প্রোগ্রামে একটি ম্যাট্রিক্সের স্থানান্তর খুঁজুন

  4. একটি ম্যাট্রিক্সের স্থানান্তর খুঁজে পেতে পাইথন প্রোগ্রাম