我正在玩我自己的数独求解器,当我遇到这个时,我正在寻找一些指向良好和快速设计的指针:
def r(a):i=a.find('0');~i or exit(a);[m
in[(i-j)%9*(i/9^j/9)*(i/27^j/27|i%9/3^j%9/3)or a[j]for
j in range(81)]or r(a[:i]+m+a[i+1:])for m in'%d'%5**18]
from sys import*;r(argv[1])
Run Code Online (Sandbox Code Playgroud)
我自己的实现解决了Sudokus,就像我在头脑中解决它一样,但这个神秘的算法是如何工作的?
http://scottkirkwood.blogspot.com/2006/07/shortest-sudoku-solver-in-python.html