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

বাইনারি ম্যাট্রিক্সে স্পেশাল পজিশনের সংখ্যা বের করা

একটি m×n বাইনারি ম্যাট্রিক্স দেওয়া আছে। 스페শাল পজিশন (i,j) বলতে mat[i][j] = 1 এবং row i এবং column j-এ অন্য সব এলিমেন্ট ০ থাকাকে বোঝায়। স্পেশাল পজিশনের সংখ্যা বের করতে হবে।

ইনপুট ম্যাট্রিক্স:

10000
00100
00011
01000
আউটপুট: 3। স্পেশাল পজিশন: (0,0), (1,2), (3,1)।

সমাধানের ধাপসমূহ

  • special := 0

  • প্রতিটি row i-এর জন্য:

    • যদি row-এ ঠিক ১টি ১ থাকে:
      • indexOfOne = row-এ ১-এর পজিশন
      • column indexOfOne-এ মোট কতটি ১ আছে সেটা কাউন্ট করুন
      • যদি মোট ১টি হয়: special++
    • special রিটার্ন করুন

    উদাহরণ (Python)

    def solve(matrix):
        special = 0
        for i in range(len(matrix)):
            if matrix[i].count(1) == 1:
                numOfOne = 0
                indexOfOne = matrix[i].index(1)
                for j in range(len(matrix)):
                    if matrix[j][indexOfOne] == 1:
                        numOfOne += 1
                    if numOfOne > 1:
                        break
                if numOfOne == 1:
                    special += 1
        return special
    
    matrix = [[1,0,0,0,0], [0,0,1,0,0], [0,0,0,1,1], [0,1,0,0,0]]
    print(solve(matrix))
    

    ইনপুট

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

    আউটপুট

    3
  1. Python দিয়ে বাইনারি গ্রিড সাজাতে মিনিমাম সোয়াপ বের করার প্রোগ্রাম

  2. পাইথনে সর্টেড ম্যাট্রিক্স থেকে n-তম সবচেয়ে ছোট সংখ্যা বের করার প্রোগ্রাম

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

  4. পাইথন প্রোগ্রাম: বাইনারি ম্যাট্রিক্সে ডুপ্লিকেট সারি খুঁজে বের করা