测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A9750. OR in Matrix

编程题 普及/提高-

题目描述

Let's define logical $OR$ as an operation on two logical values (i. e. values that belong to the set ${0,1}$ ) that is equal to $1$ if either or both of the logical values is set to $1$ , otherwise it is $0$ . We can define logical $OR$ of three or more logical values in the same manner:

![](/uploads/luogu/CF486B/406211f13f2a7c95dc14e24b4ae950d102f218cc_f0b898c775e0.png) where ![](/uploads/acgo/image/5e2085b2c428a884_fb40ee8d3b79.jpeg) is equal to $1$ if some $a_{i}=1$ , otherwise it is equal to $0$ .

Nam has a matrix $A$ consisting of $m$ rows and $n$ columns. The rows are numbered from $1$ to $m$ , columns are numbered from $1$ to $n$ . Element at row $i$ ( $1<=i<=m$ ) and column $j$ ( $1<=j<=n$ ) is denoted as $A_{ij}$ . All elements of $A$ are either 0 or 1. From matrix $A$ , Nam creates another matrix $B$ of the same size using formula:

![](/uploads/acgo/image/9b6acd192d8ca4b2_fc6c5717b074.jpeg).

( $B_{ij}$ is $OR$ of all elements in row $i$ and column $j$ of matrix $A$ )

Nam gives you matrix $B$ and challenges you to guess matrix $A$ . Although Nam is smart, he could probably make a mistake while calculating matrix $B$ , since size of $A$ can be large.

输入格式

The first line contains two integer $m$ and $n$ ( $1<=m,n<=100$ ), number of rows and number of columns of matrices respectively.

The next $m$ lines each contain $n$ integers separated by spaces describing rows of matrix $B$ (each element of $B$ is either $0$ or $1$ ).

输出格式

In the first line, print "NO" if Nam has made a mistake when calculating $B$ , otherwise print "YES". If the first line is "YES", then also print $m$ rows consisting of $n$ integers representing matrix $A$ that can produce given matrix $B$ . If there are several solutions print any one.

输入输出样例

输入 #1
2 2
1 0
0 0
输出 #1
NO
输入 #2
2 3
1 1 1
1 1 1
输出 #2
YES
1 1 1
1 1 1
输入 #3
2 3
0 1 0
1 1 1
输出 #3
YES
0 0 0
0 1 0
上一题 去做题 下一题