Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1.  
  2. import math
  3.  
  4. def clearBoard(n):
  5. b=[]
  6. for i in range(n):
  7. t=[]
  8. for j in range(n):
  9. t.append(0)
  10. b.append(t)
  11. return b
  12. def tryBacktrack(i,x,y,q,board,n):
  13. k=-1
  14. q1=False
  15.  
  16. for t in board:
  17. if n**2 in t:
  18. print(board)
  19. return
  20. if i>(n**2):
  21. return
  22. while q1 is False and k<7:
  23. k+=1
  24. q1=False
  25. dx=[2,1,-1,-2,-2,-1,1,2]
  26. dy=[1,2,2,1,-1,-2,-2,-1]
  27. u=x+dx[k]
  28. v=y+dy[k]
  29. if u>=0 and u<n and v>=0 and v<n and board[u][v]==0:
  30. if board[u][v]==0:
  31. board[u][v]=i
  32. if i<=(n**2):
  33. tryBacktrack(i+1, u,v,q1,board,n)
  34. if not q1: board[u][v]=0
  35. else:
  36. q1=True
  37. q=q1
  38.  
  39. def knightTour(i,j,n,board,done=True):
  40. board[i][j]=1
  41. tryBacktrack(2,i,j,done,board,n)
  42. board=clearBoard(5)
  43. board2=knightTour(0,0,5,board)
  44. print(board2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement