text: Check if rows of a Matrix can be rearranged to make Bitwise XOR of first column non | C # program for the above approach ; Function to check if there is any row where number of unique elements are greater than 1 ; Iterate over the matrix ; Function to check if it is possible to rearrange [ , ] mat such that XOR of its first column is non - zero ; Find bitwise XOR of the first column of [ , ] mat ; If bitwise XOR of the first column of [ , ] mat is non - zero ; Otherwise check rearrangements ; Driver Code ; Given Matrix [ , ] mat ; Function Call
code: using System ; class GFG { static String checkRearrangements ( int [ , ] mat , int N , int M ) { for ( int i = 0 ; i < N ; i ++ ) { for ( int j = 1 ; j < M ; j ++ ) { if ( mat [ i , 0 ] != mat [ i , j ] ) { return " Yes " ; } } } return " No " ; } static String nonZeroXor ( int [ , ] mat , int N , int M ) { int res = 0 ; for ( int i = 0 ; i < N ; i ++ ) { res = res ^ mat [ i , 0 ] ; } if ( res != 0 ) return " Yes " ; else return checkRearrangements ( mat , N , M ) ; } public static void Main ( String [ ] args ) { int [ , ] mat = { { 1 , 1 , 2 } , { 2 , 2 , 2 } , { 3 , 3 , 3 } } ; int N = mat . GetLength ( 0 ) ; int M = mat . GetLength ( 1 ) ; Console . Write ( nonZeroXor ( mat , N , M ) ) ; } }