【COderForces】OR in Matrix
2016-10-01 10:15
337 查看
OR in Matrix
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
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:
where
is
equal to 1 if some ai = 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 Aij. All elements of A are either 0 or 1. From matrix A,
Nam creates another matrix B of the same size using formula:
.
(Bij 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.
Input
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).
Output
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 printm rows consisting of n integers representing matrix A that
can produce given matrix B. If there are several solutions print any one.
Sample Input
Input
Output
Input
Output
Input
Output
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
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:
where
is
equal to 1 if some ai = 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 Aij. All elements of A are either 0 or 1. From matrix A,
Nam creates another matrix B of the same size using formula:
.
(Bij 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.
Input
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).
Output
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 printm rows consisting of n integers representing matrix A that
can produce given matrix B. If there are several solutions print any one.
Sample Input
Input
2 2 1 0 0 0
Output
NO
Input
2 3 1 1 1 1 1 1
Output
YES 1 1 1 1 1 1
Input
2 3 0 1 0 1 1 1
Output
YES 0 0 0 0 1 0
矩阵的计算;
代码:
#include<stdio.h> int a[105][105],b[105][105]; int main() { int n,m; while(scanf("%d%d",&m,&n)!=EOF) { for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { scanf("%d",&b[i][j]); a[i][j]=1; } } for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(!b[i][j]) { for(int k=1;k<=m;k++) a[k][j]=0; for(int m1=1;m1<=n;m1++) a[i][m1]=0; } } } for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(b[i][j]) { int f=0; for(int k=1;k<=n;k++) { f|=a[i][k]; } for(int k=1;k<=m;k++) { f|=a[k][j]; } if(!f) { printf("NO\n"); return 0; } } } } printf("YES\n"); for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(j==1) printf("%d",a[i][j]); else printf(" %d",a[i][j]); } printf("\n"); } } return 0 ; }
相关文章推荐
- Codeforces Round #277 (Div. 2)B——OR in Matrix
- B. OR in Matrix
- OR in Matrix
- Coderforces Boy or Girl
- B. OR in Matrix
- Codeforces Round #277(Div. 2) (A Calculating Function, B OR in Matrix, C Palindrome Transformation)
- B. OR in Matrix
- Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or
- Codeforces - 486 B. OR in Matrix
- Codeforces Round #277 (Div. 2) B. OR in Matrix 贪心
- Coderforces Beautiful Matrix
- codeforces 486 B. OR in Matrix
- 【codeforces486B】OR in Matrix(思维)
- Codeforces 486B - OR in Matrix
- B. OR in Matrix
- xml文件出现警告:No grammar constraints (DTD or XML Schema) referenced in the document.
- How to properly use relative or absolute imports in Python modules? - Stack Overflow
- UBUNTU 9.10 因断电升级未成功后重启出现“one or more of the mounts listes in /etc/fstab cannot yet be mounted?”?
- "Loading a plug-in failed The plug-in or one of its prerequisite plug-ins may be missing or damaged and may need to be reinstalled"
- [SharePoint 2010] 关于 "Error message when view or edit in browser for Word or PowerPoint Web Apps” 错误