Backtracking: decidir, propagar, retroceder