Microsoft Interview Question

Recursive programming and backtracking.