如何确定回溯是否有解决方案?

时间:2014-01-15 22:10:34

标签: python solution backtracking

我需要打印解决方案或其他消息。

def backRec(x):
    x.append(0)
    for i in range(0,DIM):
        x[len(x)-1] = i
        if consistent(x):
           if solution(x):
              print x
           else:
              backRec(x[:])

1 个答案:

答案 0 :(得分:1)

如果您只需要一个解决方案,则可以从backrecNone返回解决方案,以防您在没有找到解决方案的情况下终止循环

if solution(x):
    return x
else:
    res = backrec(x[:])
    if res:
        return res

如果您需要所有解决方案,则可以将它们存储在列表中而不是打印它们。如果最后列表为空,那么你知道没有解决方案...