Well if there are odd number of females. whatever be algorithm. the last women will always end up with man.Also there are too many complications. Its not simple to make algorithm that suits all.Its a best fit algorithm with first come first serve as priority. There is no guarantee.Think like a mathematician and u will get answer.