ACM UVA-541

Matrix

int row[105];
int col[105];
int main(int argc, char const* argv[])
{
    string line;
    int n;
    while(~scanf("%d",&n) && n != 0){
        getchar();
        int tmp = n;
        int rowe= 0;
        int cole = 0;
        int rr = 0;
        int ic,ir;
        while(tmp--){
            getline(cin,line);
            istringstream stream(line);
            int bit;
            int sum = 0;
            int cc = 0;
            while(stream>>bit){
                sum = sum+bit;
                col[cc] += bit;
                if(rr == n-1){
                    //printf("col[cc] = %d\n",col[cc]);
                    if(col[cc]%2  !=  0){
                        ic = cc;
                        cole++;
                    }
                    col[cc] = 0;
                }
                cc++;
            }
            row[rr] = sum;
            //printf("row[rr] =%d\n",row[rr]);
            if(row[rr]%2!= 0){
                ir = rr;
                rowe++;
            }
            row[rr] = 0;
            rr++;
        }
        if(rowe == 1 && cole == 1){
            printf("Change bit (%d,%d)\n",ir+1,ic+1);
        }else if(rowe == 0 && cole == 0){
            printf("OK\n");
        }else{
            printf("Corrupt\n");
        }
    }

    return 0;
}