登录 |
对于一个给定的布尔矩阵,它的每一行每一列各个数的和必然是确定的。下面给出一个4 x 4的布尔矩阵。
1 1 1 0
0 1 0 0
0 1 0 0
0 0 0 1
很明显,这个布尔矩阵每行各数的和依次位311和1,每列各数字的和依次为131和1每行每列之和都是奇数。我们称所有行和列和都是奇数的矩阵满足奇校验.
你的任务是写一个程序来判断一个矩阵是否满足奇校验。如果不是的话,请检查如果更改矩阵中某一个布尔数的值,使其满足奇校验。如果依旧不可达成,则停止工作。
输入会有多个测试数据。每个测试数据会以一个int型n开始(n<=100),表示这个矩阵的大小为n*n。接下来的n行将给出这个矩阵。当n为0的时候,退出程序。
对于每组测试数据,只有一行输出。如果这个矩阵已经是奇校验,直接输出“OK”;如果需要改变一个布尔数的值后满足条件,输出“Change bit (ij)”,i,j表示所需转换位所在的行和列。如果依旧不可达成,输出“Corrupt”。
4 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 4 1 1 1 0 0 1 1 0 0 1 0 0 0 0 0 1 4 1 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0
OK Change bit (2,3) Corrupt