สร้างเมทริกซ์ต้นฉบับจาก Max Row/Column และ Binary Mask
กำหนดอาร์เรย์ A (ค่าสูงสุดแต่ละแถว), B (ค่าสูงสุดแต่ละคอลัมน์) และ Binary Matrix mat ที่ 1 = มีค่าบวก, 0 = เป็น 0 ต้องสร้างเมทริกซ์ต้นฉบับที่สอดคล้อง: mat[i][j] = min(A[i], B[j]) ถ้า mat[i][j]==1 มิฉะนั้น 0
โค้ดตัวอย่าง Python
def print_original_mat(A, B, mat):
N, M = len(A), len(B)
for i in range(N):
row = []
for j in range(M):
if mat[i][j] == 1:
row.append(str(min(A[i], B[j])))
else:
row.append('0')
print(' '.join(row))
A = [4, 2, 3]
B = [3, 1, 0, 0, 4, 0, 5]
mat = [
[1,0,0,0,1,0,1],
[0,0,1,0,0,1,1],
[1,1,0,1,1,0,0]
]
print_original_mat(A, B, mat)
# Output:
# 3 0 0 0 4 0 4
# 0 0 0 0 0 0 2
# 3 1 0 3 3 0 0