xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 19KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2024-02-01
  • 語(yǔ)言: Python
  • 標(biāo)簽: Python??數(shù)獨(dú)??

資源簡(jiǎn)介

利用Python程序求解任意可解數(shù)獨(dú),同時(shí)輸出整個(gè)求解過(guò)程,文件中包含幾個(gè)測(cè)試用例,其中有世界最難數(shù)獨(dú)的求解結(jié)果

資源截圖

代碼片段和文件信息

import?os
import?numpy?as?np


def?deep_copy(nparray):
????assert?np.ndim(nparray)?==?2?““
????shape?=?np.shape(nparray)
????ret?=?np.zeros(shape?dtype=np.object)
????for?i?in?range(shape[0]):
????????for?j?in?range(shape[1]):
????????????ret[i?j]?=?nparray[i?j].copy()
????return?ret


def?get_cell_index(row?col):
????ret_index?=?[0?0]
????if?3?<=?row?????????ret_index[0]?=?1
????elif?row?>=?6:
????????ret_index[0]?=?2
????if?3?<=?col?????????ret_index[1]?=?1
????elif?col?>=?6:
????????ret_index[1]?=?2
????return?ret_index


def?check_row(num?array?row):
????if?len(np.where(array[row?:]?==?num)[0])?==?0:
????????return?True
????return?False


def?check_col(num?array?col):
????if?len(np.where(array[:?col]?==?num)[0])?==?0:
????????return?True
????return?False


def?check_cell(num?array?row?col):
????cell_index?=?get_cell_index(row?col)
????if?len(np.where(array[cell_index[0]*3:(cell_index[0]+1)*3
????????????????????cell_index[1]*3:(cell_index[1]+1)*3]?==?num)[0])?==?0:
????????return?True
????return?False


def?start_init(array):
????lengths?=?np.zeros([9?9])??????????#?每個(gè)位置可能填寫的值的個(gè)數(shù)
????may_nums?=?np.zeros([9?9]?dtype=list)?????#?每個(gè)位置可能填寫的所有值組成的list
????for?i?in?range(9):
????????for?j?in?range(9):
????????????if?array[i?j]?>?0:
????????????????may_nums[i?j]?=?[]
????????????????continue
????????????may_nums[i?j]?=?[k?for?k?in?range(1?10)
??????????????????????????????if?check_row(k?array?i)
??????????????????????????????and?check_col(k?array?j)
??????????????????????????????and?check_cell(k?array?i?j)]
????????????lengths[i?j]?=?len(may_nums[i?j])
????return?lengths?may_nums


def?update_maynums(lengths?may_nums?row?col?val):
????for?i?in?range(9):
????????if?i?==?row:
????????????continue
????????if?val?in?may_nums[i?col]:
????????????may_nums[i?col].remove(val)
????????????lengths[i?col]?-=?1
????????????if?lengths[i?col]?==?0:
????????????????return?True
????for?i?in?range(9):
????????if?i?==?col:
????????????continue
????????if?val?in?may_nums[row?i]:
????????????may_nums[row?i].remove(val)
????????????lengths[row?i]?-=?1
????????????if?lengths[row?i]?==?0:
????????????????return?True
????cell_index?=?get_cell_index(row?col)
????for?i?in?range(cell_index[0]?*?3?(cell_index[0]?+?1)?*?3):
????????for?j?in?range(cell_index[1]?*?3?(cell_index[1]?+?1)?*?3):
????????????if?i?==?row?and?j?==?col:
????????????????continue
????????????if?val?in?may_nums[i?j]:
????????????????may_nums[i?j].remove(val)
????????????????lengths[i?j]?-=?1
????????????????if?lengths[i?j]?==?0:
????????????????????return?True
????return?False
????#?return?lengths?may_nums


def?check_only_chance_rows(array?lengths?may_nums?per_step?outf):
????updated?=?False
????wrong?=?False
????for?i?in?range(9):
????????may_nums_row?=?may_nums[i?0]
????????length?=?len(may_nums_row)
????????only_chance_index?=?list()
??

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件??????12862??2018-12-23?00:18??sudoku_v3.py

?????文件?????444805??2019-01-23?23:30??sudoku_inputs\hardest.res

?????文件????????169??2018-12-22?10:41??sudoku_inputs\hardest.txt

?????文件??????12208??2018-12-22?10:36??sudoku_inputs\大師10.res

?????文件????????169??2018-12-22?10:36??sudoku_inputs\大師10.txt

?????文件??????11118??2018-12-21?23:54??sudoku_inputs\大師3.res

?????文件????????169??2018-12-21?23:36??sudoku_inputs\大師3.txt

?????文件??????11554??2018-12-22?00:43??sudoku_inputs\大師4.res

?????文件????????169??2018-12-21?15:43??sudoku_inputs\大師4.txt

?????文件??????11554??2018-12-22?10:27??sudoku_inputs\大師5.res

?????文件????????169??2018-12-22?10:18??sudoku_inputs\大師5.txt

?????文件??????11772??2018-12-22?10:29??sudoku_inputs\大師9.res

?????文件????????169??2018-12-22?10:29??sudoku_inputs\大師9.txt

?????目錄??????????0??2019-01-23?23:30??sudoku_inputs

-----------?---------??----------?-----??----

???????????????516887????????????????????14


評(píng)論

共有 條評(píng)論