কম্পিউটার টিউটোরিয়াল

পাইথনে বাইনারি ম্যাট্রিক্স থেকে রো-কলাম কRITEERIA মেনে চলা এলিমেন্ট গণনার প্রোগ্রাম

একটি বাইনারি ম্যাট্রিক্স দেওয়া আছে। এমন এলিমেন্ট গণনা করুন যেখানে:

  1. matrix[r][c] == 1
  2. সেই রো r-এ অন্য কোনো 1 নেই
  3. সেই কলাম c-এ অন্য কোনো 1 নেই

উদাহরণ

ইনপুট: [[0,0,1],[1,0,0],[0,1,0]] → আউটপুট: 3

পজিশন: (0,2), (1,0), (2,1)

এলগরিদম

  1. র‍ো সাম row[r] এবং কলাম সাম col[c] ক্যালকুলেট করুন।
  2. প্রতিটি সেল চেক করুন: matrix[r][c]==1 and row[r]==1 and col[c]==1
  3. গণনা রিটার্ন করুন।

পাইথন কোড

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))  # আউটপুট: 3

ইনপুট / আউটপুট

[[0, 0, 1], [1, 0, 0], [0, 1, 0]]
3
  1. পাইথনে ম্যাট্রিক্সে Z আকারের এলিমেন্টের যোগফল বের করার প্রোগ্রাম

  2. পাইথনে ম্যাট্রিক্সে নির্দিষ্ট সেলের সারি ও কলাম বাদ দিয়ে বাকি সব উপাদানের যোগফল

  3. পাইথন প্রোগ্রামে ম্যাট্রিক্সের ট্রান্সপোজ বের করা

  4. পাইথনে ম্যাট্রিক্সের ট্রান্সপোজ বের করা