给定一个 n×m的矩阵,对于 初始矩阵 中所有值为 1 的元素,重置其 所在行列 的所有元素为 0,最后输出整个修改后的矩阵。
输入共包含 1+n 行。
第一行包两个整数 n 和 m, 分别表示矩阵的长和宽,题目保证 2≤n,m≤700 且 4≤n×m≤180000。
接下来 n 行,每行包含 m 个整数,第 i 行第 j 个整数表示矩阵中坐标 (i,j)的值 Ai,j,题目保证 0≤Ai,j≤1e8。
输出共包含 n 行,每行包含空格分隔 m 个整数。
第 i 行第 j 个整数表示修改后的矩阵中坐标 (i,j)的值 Ai,j。
请注意输出中每行行末最后一个数字后面紧跟换行符,不能包含空格。
3 0 5 0 0 0 6 0 8
3 4 1 2 3 1 4 5 6 7 8 9 10 11
0 0 0 0 0 5 6 0 0 9 10 0
def change_matrix(n, m, matrix):
rows_to_zero = set()
cols_to_zero = set()
for i in range(n):
for j in range(m):
if matrix[i][j] == 1:
rows_to_zero.add(i)
cols_to_zero.add(j)
reset_matrix = [[0 if i in rows_to_zero or j in cols_to_zero else matrix[i][j] for j in range(m)] for i in range(n)]
return reset_matrix
n, m = map(int, input().strip().split())
matrix = [[int(cell) for cell in input().strip().split()] for _ in range(n)]
modified_matrix = change_matrix(n, m, matrix)
for row in modified_matrix:
print(' '.join(map(str, row)))
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务