/*
读题,布尔值只有true与false转为数字就是1和0,所以判断每行每列的总值即可。改变数值的坐标就是行列的交点。
*/
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int n;
int map[105][105];
int x[105]; //记录行
int y[105]; //记录列
while(cin>>n)
{
if(n==0)
{
return 0;
}
memset(x,0,sizeof(x)); //数组初始化
memset(y,0,sizeof(y));
int bjx=0; //标记行
int bjy=0; //标记列
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>map[i][j];
x[i]+=map[i][j]; //储存行总值
y[j]+=map[i][j]; //储存列总值
}
}
for(int i=1;i<=n;i++)
{
if(x[i]%2==0)
{
bjx=i;
}
if(y[i]%2==0)
{
bjy=i;
}
}
if(bjx==0&&bjy==0)
{
cout<<"OK"<<endl;
}
else if(bjx!=0&&bjy!=0)
{
cout<<"Change bit ("<<bjx<<","<<bjy<<")"<<endl;
}
else
{
cout<<"Corrupt"<<endl;
}
}
return 0;
}
题库 1171:奇校验矩阵
最新推荐文章于 2023-05-15 19:41:36 发布