Brutal Force求解向量形式的數獨

2021-07-27 12:37:32 字數 653 閱讀 7804

原題目出自:

該題目是求解數獨問題,而這個數獨則用向量形式儲存。本人曾經查過網上的一些**,基本上都是用於解決二維陣列形式的數獨。於是本人結合之前參考的一些資料,設計出了向量形式數獨的解法。與網上通用的解法相比,這種解法使用了暴力求解,**上是輕鬆了不少,不過效率可能會相對低一些。

這裡我用了兩個函式:判斷某個位置可以去什麼數值的函式check(bool),以及判斷去某個數後能否求解的函式place(bool)。判斷哪些位置空缺以及判斷哪些數能填進去是比較容易的過程,這裡不再詳述。演算法裡的遞迴步驟設計則相對繁瑣一些,其重點在於:當通過之前的判斷可選數函式確定了某個數後,需要將這個數代入該位置,然後再按照正常的步驟求解;當出現無法求解的情況時,則需要逐步向上一步還原,然後再用新的數代入求解。如此重複,直至所有的81個數都判斷可以解為止。這種解法只能解出數獨的一種解,但考慮到大多數的數獨都只有唯一解,這種方法也算是比較可靠的。

以下是**截圖:

check函式部分,檢查某個數是否可用。

place函式部分,用於執行遞迴求解。

numpy求解矩陣的特徵值和特徵向量

python2.7 如下 encoding utf 8 import sys reload sys sys.setdefaultencoding utf 8 import numpy as np from numpy import x 1,2,1,1 3,3,1,2 3,5,4,3 5,4,5,4 ...

numpy中陣列轉置的求解以及向量內積計算

有點抱歉的是我的數學功底確實是不好,經過了高中的緊張到了大學之後鬆散了下來。原本高中就有點拖後腿的數學到了大學之後更是一落千丈。線性代數直接沒有學明白,同樣沒有學明白的還有概率及統計以及復變函式。時至今日,我依然覺得這是人生中讓人羞愧的一件事兒。不過,好在我還有機會,為了不敷衍而去學習一下。矩陣的轉...

數值分析 三角矩陣排序向量及求解過程

對於乙個三角矩陣,如何得到排序向量 p pp 給出演算法並用程式實現它 請實現三角系統的向前帶入演算法,給出程式並通過算例驗證 請給出三角系統的向後帶入演算法,給出程式並通過算例驗證 由於給出矩陣預設為三角矩陣,因此通過排序後只有上三角或下三角兩種可能。因此我們先以下三角矩陣為例進行分析,然後再考慮...