本题与数独一的区别仅是输入数据格式不同,改写一下输入输出部分即可。
最终代码有六行。
代码长度:277字节 vs. 全站第一:157字节。
import sys
q=[y for x in range(1,18,2)for y in range(38*x+2,38*x+38,4)if x%4]
def r(a):
if i:=a.find(' ')+1:k=q.index(i);[m in[(k-j)%9*(k//9^j//9)*(k//27^j//27|k%9//3^j%9//3)or a[q[j]]for j in range(81)]or r(a[:i]+m+a[i+1:])for m in'123456789']
else:print(a)
r(sys.argv[1])
|