Problem1251--矩阵置零

1251: 矩阵置零

Time Limit: 1 Sec  Memory Limit: 5 MB
Submit: 234  Solved: 34
[Submit] [Status] [Web Board] [Creator:]

Description

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法
所谓原地算法,就是不能使用额外的内存来解决这个问题,另外矩阵中的数字可能为任意值,所以你不能使用另外一个数字来代表0。
这里提供一种你可能会使用的方法,但这是错误的:扫描该矩阵,先处理行,把每行中所有0改为一个很大的数字X,例如19270817,然后把这行其他非0数都改为0
然后再逐列扫描,该列如果有 X就把这列所有数改成0。这样存在的问题在于,X可能本身就出现在这个矩阵中。
所以你需要想另外的办法来解决这个问题。

Input

第一行两个整数n,m,都是1000以内的正整数
接下来给出n*m的矩阵。

Output

输出置零后的矩阵。

Sample Input

3 3
1 1 1
1 0 1
1 1 1

Sample Output

1 0 1
0 0 0
1 0 1

Source/Category