解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i,j;
int arr[n][n];
for(i = 0;i < n;i++)
for(j = 0;j < n;j++)
scanf("%d",&arr[i][j]);
int k[n];
for(i = 0;i < n;i++)
{
for(j = 0;j < n;j++)
{
if(arr[i][j] == 1)
k[i]++;
}
}//逐行检查1的个数
int a[n];
for(j = 0;j < n;j++)
{
for(i = 0;i < n;i++)
{
if(arr[i][j] == 1)
a[j]++;
}
}//逐列检查1的个数
int odd_row = 0,odd_col = 0;
for(i = 0;i<n;i++)
{
if(k[i] % 2 != 0)
odd_row++;
if(a[i] % 2 != 0)
odd_col++;
} //奇数检验
if(odd_row == 0 && odd_col == 0)
{
printf("OK");
return 0;
}
if(odd_col == 1 && odd_row == 1)
{
for(i = 0;i < n;i++)
{
if(k[i] % 2 != 0)
printf("%d ",i+1);
}
for(j = 0;j < n;j++)
{
if(a[j] % 2 != 0)
printf("%d",j+1);
}
return 0;
}
else printf("Corrupt");
}
0.0分
0 人评分