我有这个Python代码用于回溯算法。我的问题是这段代码无法显示解决方案。我验证了所有的线路,但似乎一切都好。你知道可以做什么吗?
def bkt(k):
global n,x
if k >= n:
afisare()
else:
for i in range(n):
if posibil(k,i):
x[k] = i
bkt(k+1)
def posibil(k,a):
global x
for i in range(k):
if x[i] == a:
return False
if abs(x[i]-a)==k-1:
return False
else:
return True
def afisare():
global n,x,nsol
nsol+=1
print('\nSolutia ',nsol, 'x=',x)
for i in range(n):
linie = ' '
for j in range(n):
if x[j]==i:
linie+= 'R '
else:
linie+= 'X '
print(linie)
n = int(input('Dati n:'))
nsol = 0
x = [0]*n
bkt(0)