ধরুন আমাদের একটি 2D ম্যাট্রিক্স আছে। i-th সারির যোগফল i-th কলামের যোগফলের সমান কিনা তা আমাদের পরীক্ষা করতে হবে।
সুতরাং, যদি ইনপুট মত হয়
2 | 3 | 4 | 5 |
10 | 6 | 4 | 2 |
1 | 4 | 6 | 7 |
1 | 5 | 6 | 7 |
তাহলে আউটপুট হবে True, যেহেতু প্রথম সারি এবং কলামের যোগফল হল (2 + 3 + 4 + 5) =14 এবং (2 + 10 + 1 + 1) =14।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- সারি :=মাদুরের সারি গণনা
- col :=ম্যাটের কলাম গণনা
- মোট_সারি :=০, মোট_কল :=০
- আমি 0 থেকে সারি - 1 এর মধ্যে, কর
- মোট_সারি :=০, মোট_কল :=০ 0 থেকে col - 1 পরিসরে j-এর জন্য
- করুন
- মোট_সারি :=মোট_সারি + ম্যাট[i, j]
- total_col :=total_col + mat[j, i]
- যদি total_row হয় total_col এর সমান, তাহলে
- সত্য ফেরান
- মিথ্যে ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ কোড
def সমাধান(mat):row =len(mat) col =len(mat[0]) total_row =0 total_col =0 for i in range(row):total_row =0 total_col =0 রেঞ্জে j এর জন্য ):total_row +=mat[i][j] total_col +=mat[j][i] if total_row ==total_col:return True return False matrix =[ [2,3,4,5], [10,6, 4,2], [1,4,6,7], [1,5,6,7]] প্রিন্ট(সল্ভ(ম্যাট্রিক্স))
ইনপুট
<প্রে> [ [1,2,3,4],[৯,৫,৩,১],
[০,৩,৫,৬],[০,৪,৫,৬]
আউটপুট
সত্য