我正在玩我自己的数独游戏,正在寻找一些好的和快速的设计指南,当我遇到这个:
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])
我自己的实现解决数独的方法和我在脑子里解决它们的方法是一样的,但是这个神秘的算法是如何工作的呢?
Http://scottkirkwood.blogspot.com/2006/07/shortest-sudoku-solver-in-python.html