... HAVE U TRIED .... AT LEAST 3 TIMES ... OK U CAN SEE THIS ...

Tuesday, December 24, 2013

UVA-541 :: Error Correction

#include <stdio.h>
int main ()
{
     int n ,r  ,c , mat [110][110] ,cntr ,cntc ,cnt3 , p  ,q ;
     int ex ,flag , fx ;

     while (scanf ("%d",&n) == 1&& n != 0 )
     {
          for (r =1 ; r <= n ; r++)
               {
                    for (c =1 ; c<= n ; c++)
                         {
                              scanf ("%d",&mat [r] [c] ) ;

                         }
               }
               flag=0;
              p=q=0;
               ex =0  ; fx =0 ;
               for (r=1; r <= n ; r++)
                    {
                         cntr = 0 ;
                         for (c=1 ; c<=n ;c++)
                              {
                                  if (mat [r] [c] == 1) cntr ++ ;
                              }


                         if (cntr %2 == 1) {p=r ; ex++ ;}
                         else fx ++ ;
                         if (ex >1) flag =1 ;
                    }

               ex =0 ;fx =0 ;
               for (c=1 ;c<=n ; c++)
                    {
                         cntc =0 ;
                         for (r=1 ; r<=n ;r++)
                              {
                                   if (mat [r] [c] == 1) cntc++ ;
                              }

                         if (cntc %2==1) {q = c ; ex ++ ;}
                             else fx ++ ;
                             if (ex >1) flag =1 ;
                    }

               if (flag==1) printf ("Corrupt\n") ;
               else if (fx == n)  printf ("OK\n") ;
               else  printf ("Change bit (%d,%d)\n",p ,q ) ;


     }

return 0 ;
}