#P2260. Error Correction
Error Correction
描述
一个布尔矩阵具有奇偶校验特性,当且仅当它的每一行和每一列的求和均为偶数,即每一行和每一列中设置的位数(值为1的位数)是偶数。以下是一个的具有奇偶校验特性的矩阵:
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
行的和分别为和。列的和分别为和。
你的任务是编写一个程序,读取一个矩阵并检查它是否具有奇偶校验特性。如果没有,程序应检查是否可以通过仅更改一个位来建立奇偶校验特性。如果这也不可能,则将矩阵归类为损坏。
输入
输入包含一个或多个测试用例。每个测试用例的第一行包含一个整数(),表示矩阵的大小。接下来的行中,每行包含个整数。矩阵中只会出现和。输入以的值为时终止。
输出
对于输入文件中的每个矩阵,输出一行。如果矩阵已经具有奇偶校验特性,输出“OK”。如果可以通过更改一个位来建立奇偶校验特性,输出“Change bit (i,j)”,其中是行号,是列号。否则,输出“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