Shaastra 2014 ::Good Boy Eshwar Problem Solution

Can someone please explain the solution to the problem Good Boy Eshwar asked in SHAASTRA-2014 contest?.

1 Like

Define the state to be (indexOfMale,BitMaskOfChosenGirls). The basic idea is to iterate over the set of males until a choice has been made for each one of them. Which means that we look for the possible match for a guy with a girl if she’s not in the bitmask => if she’s available then set that bit and go for the next guy(index). This way try with all the indices associated with the current indexOfMale. Count 1 if a choice could be made for every guy.

Simply put,

f(idx,mask) = 1 if idx==N = f(idx+1,mask|(1<<k)) if(mask[k] is not set) for all k in adj[idx]

Complexity would be O(N*N*2^N)