For a blank n \* n matrix, even n, we want to assign zeros and ones to this matrix so
that each row and each column contains exactly n/2 zeros and n/2 ones for a given n. 

Can there be a Dynamic programming method to solve this? I have worked the base case as 0 for a matrix of size 0, then 2 matrices for n = 2. But am not able to get the recursive equation.
I was asked this in a recent interview with Microsoft.