按照题目意思模拟过的,地址:http://acm.pku.edu.cn/JudgeOnline/problem?id=2260

#include <stdio.h>

int map[101][101];//邻接矩阵

int main ()
{

    
int n;
    
int i, j;
    
int firstr, firstc;

    
while ( scanf ( "%d"&n ) != EOF && n )
    
{
        
int countr = 0;
        
for ( i=0; i<n; i++ )
        
{
            
int sum = 0;
            
for ( j=0; j<n; j++ )
            
{
                scanf ( 
"%d"&map[i][j] );
                sum 
+= map[i][j];
            }

            
if ( sum & 1 )
            
{
                countr 
++;
                firstr 
= i;
            }

        }


        
int countc = 0;
        
for ( i=0; i<n; i++ )
        
{
            
int sum = 0;
            
for ( j=0; j<n; j++ )
            
{
                sum 
+= map[j][i];
            }

            
if ( sum & 1 )
            
{
                countc 
++;
                firstc 
= i;
            }

        }


        
if ( countr == 0 && countc == 0 )
        
{
            printf ( 
"OK\n" );
        }

        
else if ( countr == 1 && countc == 1 )
        
{
            printf ( 
"Change bit (%d,%d)\n", firstr+1, firstc+1 );
        }

        
else
        
{
            printf ( 
"Corrupt\n" );
        }

    }

    
return 0;
}