全民数独-数图模式破解-python

全民数独-数图模式破解-python,第1张

程序运行需要输入下面三个参数

rankLength = 16 # 声明数图阶数,即该模式的行(或列)有多少个格子

rowsHint = [] # 行的提示数字,二维列表

colsHint = [] # 列的提示数字,二维列表

#coding=utf-8

num_list=[

[5, 3, 4, 6, 7, 8, 9, 1, 2],

[6, 7, 2, 1, 9, 5, 3, 4, 8],

[1, 9, 8, 3, 4, 2, 5, 6, 7],

[8, 5, 9, 7, 6, 1, 4, 2, 3],

[4, 2, 6, 8, 5, 3, 7, 9, 1],

[7, 1, 3, 9, 2, 4, 8, 5, 6],

[9, 6, 1, 5, 3, 7, 2, 8, 4],

[2, 8, 7, 4, 1, 9, 6, 3, 5],

[3, 4, 5, 2, 8, 6, 1, 7, 9]

]

tmp = [1,2,3,4,5,6,7,8,9]

def check_shudu(num_list):

    #

    if len(num_list)<>9:

        return -1

    #

    for j in num_list:

        if sorted(j)<>tmp:

            return -1

    #

    for i in range(9):

        if sorted([j[i] for j in num_list])<>tmp:

            return -1

    #

    for n in range(3):

        for k in range(3):

            jiu = []

            for i in range(n*3,n*3+3):

                for j in range(k*3,k*3+3):

                    jiu.append(num_list[i][j])

            if sorted(jiu)<>tmp:

                return -1

    return 1

print check_shudu(num_list)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12150381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存