#P2260. Error Correction

Error Correction

描述

一个布尔矩阵具有奇偶校验特性,当且仅当它的每一行和每一列的求和均为偶数,即每一行和每一列中设置的位数(值为1的位数)是偶数。以下是一个4×44 \times 4的具有奇偶校验特性的矩阵:

1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1

行的和分别为2,0,42, 0, 422。列的和分别为2,2,22, 2, 222

你的任务是编写一个程序,读取一个矩阵并检查它是否具有奇偶校验特性。如果没有,程序应检查是否可以通过仅更改一个位来建立奇偶校验特性。如果这也不可能,则将矩阵归类为损坏

输入

输入包含一个或多个测试用例。每个测试用例的第一行包含一个整数nnn<100n < 100),表示矩阵的大小。接下来的nn行中,每行包含nn个整数。矩阵中只会出现0011。输入以nn的值为00时终止。

输出

对于输入文件中的每个矩阵,输出一行。如果矩阵已经具有奇偶校验特性,输出“OK”。如果可以通过更改一个位来建立奇偶校验特性,输出“Change bit (i,j)”,其中ii是行号,jj是列号。否则,输出“Corrupt”。

输入样例 1

4  
1 0 1 0  
0 0 0 0  
1 1 1 1  
0 1 0 1  
4  
1 0 1 0  
0 0 1 0  
1 1 1 1  
0 1 0 1  
4  
1 0 1 0  
0 1 1 0  
1 1 1 1  
0 1 0 1  
0  

输出样例 1

OK  
Change bit (2,3)  
Corrupt  

来源
Ulm Local 1998