Recursion with Backtracking in Python
tip
Yet one more reminder
recursion/backtracking-template.py
def backtrack(candidate):
if is_solution(candidate):
output(candidate)
return
for next_candidate in list_of_candidates:
if is_valid(next_candidate):
place(next_candidate)
backtrack(next_candidate)
remove(next_candidate)