কম্পিউটার

পাইথনে একটি ম্যাট্রিক্সে রাখা বোমা দিয়ে সমস্ত শত্রুকে হত্যা করা হয়েছে কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি ম্যাট্রিক্স ম্যাট আছে। নিম্নরূপ কয়েকটি ভিন্ন মান রয়েছে ম্যাট্রিক্সের কোষগুলি এই 3টি অক্ষরের যেকোনো একটি ধারণ করতে পারে

  • খালি এলাকার জন্য 0।
  • বোমার জন্য 1।
  • 2 শত্রুদের জন্য।

এখন বোমা এক প্রান্ত থেকে অন্য প্রান্তে শুধুমাত্র অনুভূমিক এবং উল্লম্ব দিকগুলিতে বিস্ফোরণ করতে পারে। আমাদের পরীক্ষা করতে হবে যে বোমা বিস্ফোরণে সমস্ত শত্রু মারা যাবে কি না৷

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

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

তাহলে আউটপুট True হবে, কারণ [1, 1] স্থানে বোমাটি [2, 1] স্থানে শত্রুকে পূরণ করতে পারে এবং [0, 2] এ [3, 2] এ রাখা বোমা দ্বারা শত্রুকে হত্যা করা হবে।

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

  • r :=মাদুরের সারি গণনা
  • c :=কলের মাদুর গণনা
  • i :=0, j :=0, x :=0, y :=0
  • আমি 0 থেকে r - 1 রেঞ্জের জন্য, কর
      0 থেকে c - 1 রেঞ্জের মধ্যে j-এর জন্য
    • করুন
      • যদি mat[i, j] 1 হয়, তাহলে
          0 থেকে r - 1 রেঞ্জের x এর জন্য
        • করুন
          • যদি mat[x, j] 1 না হয়, তাহলে
            • mat[x, j] :=0
        • 0 থেকে c - 1 এর মধ্যে y এর জন্য
        • করুন
          • যদি mat[i, y] 1 না হয়, তাহলে
            • mat[i, y] :=0
  • আমি 0 থেকে r - 1 রেঞ্জের জন্য, কর
      0 থেকে c - 1 রেঞ্জে j-এর জন্য
    • করুন
      • যদি mat[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. দুটি গাছের সমস্ত স্তর পাইথনে অ্যানাগ্রাম কিনা তা পরীক্ষা করুন

  2. পাইথন - একটি তালিকার সমস্ত মান একটি প্রদত্ত মানের চেয়ে কম কিনা তা পরীক্ষা করুন

  3. পাইথন - একটি তালিকার সমস্ত উপাদান একই কিনা তা পরীক্ষা করুন

  4. দুটি প্রদত্ত ম্যাট্রিক্স অভিন্ন কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম