Fill dp [ i , j ]
dp [ i , j ] = dp [ i - 1 , j ] ^ dp [ i , j - 1 ] ^ dp [ i - 1 , j - 1 ] ^ mat [ i , j ] ; med [ len ++ ] = dp [ i , j ] ; } } Array . Sort ( med ) ; if ( len % 2 == 0 ) { return ( med [ ( len / 2 ) ] + med [ ( len / 2 ) - 1 ] ) / 2.0 ; } return med [ len / 2 ] ; }