document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int n;
  7. while(cin>>n && n!=0){
  8. int matrix[100][100]={0};
  9. for(int row=0;row<n;row++){
  10. for(int col=0;col<n;col++){
  11. cin >> matrix[row][col];
  12. }
  13. }
  14.  
  15. bool fail = false;
  16.  
  17. //check oddRows
  18. int oddRows=0;
  19. int oddRow;
  20. for(int row=0 ; row<n && !fail ; row++){
  21. int rowSum=0;
  22. for(int col=0 ; col<n ; col++){
  23. rowSum+=matrix[row][col];
  24. }
  25. if(rowSum%2==1){
  26. oddRows++;
  27. oddRow=row;
  28.  
  29. if(oddRows>1){
  30. fail = true;
  31. break;
  32. }
  33. }
  34. }
  35.  
  36. //check oddCols
  37. int oddCols=0;
  38. int oddCol;
  39. for(int col=0 ; col<n && !fail ; col++){
  40. int colSum=0;
  41.  
  42. for(int row=0 ; row<n ; row++){
  43. colSum += matrix[row][col];
  44. }
  45.  
  46. if(colSum%2==1){
  47. oddCols++;
  48. oddCol=col;
  49.  
  50. if(oddCols>1){
  51. fail = true;
  52. break;
  53. }
  54. }
  55. }
  56.  
  57. if(oddCols==0 && oddRows==0){
  58. cout<<"OK"<<endl;
  59. }
  60. else if(oddCols==1 && oddRows==1){
  61. cout<<"Change bit ("<<oddRow+1<<","<<oddCol+1<<")"<<endl; //notice: oddRow+1, oddCol+1
  62. }
  63. else {
  64. cout<<"Corrupt"<<endl;
  65. }
  66.  
  67. }
  68. return 0;
  69. }
');