The problem is to find symmetricity in a matrix of characters(char logo[N][N]) 
where logo contains some characters(only 0 or 1). 
Note that, in the output of the code, once i get all the 4 logo elements as 0 i.e.    if(0==0==0==0), then else code is also executed.
I have implemented the symmetricity checking code and found that the only problem is occurring at the given block of code where else block is executed and it gives wrong result (NO).
code snippet:(N is size of the square matrix)
int YES=1;
for(j=N-1;j>((N-1)>>1);j--) /* symmetricity condition particular to the problem*/
    {
        for(k=0;k<((N-1)>>1);k++)
        {
            printf("%c %c %c %c\n",logo[j][k],logo[N-1-j][k],logo[j][N-1-k],logo[N-1-j][N-1-k]); // used this line for debugging
            if(logo[j][k]==logo[N-1-j][k]==logo[j][N-1-k]==logo[N-1-j][N-1-k])continue;   //checking symmetricity
            else  // here else is executed when all 4 logo elements are 0
            {
                YES=0;
                break;
            }
        }
    }
    (YES==1)?printf("YES\n"):printf("NO\n");
I expect the output to be "YES" as every time the 4 logo element is checked found to be same (1111 or 0000) but here you can see result is NO after i get 4 zeros.
1st line is number of test case, second line is N, then N*N matrix

you can see when all logo elements are 1111 then it reenters loop but after 0000 it breaks and prints NO.
 
     
     
    