數獨(すぅどく,s doku)是壹種使用紙和筆進行計算的邏輯遊戲。玩家需要根據9×9盤面上已知的數字推斷出所有剩余空格的數字,並保證每壹行、每壹列、每壹粗線宮中的數字都包含1-9,不重復。
?這也是壹個偶然的事情。就在幾個小時前,看android教程,有壹個數獨的例子,走神了,就想到了這個不復雜的算法。
?算法簡介:直接映射
如上圖所示,我需要壹個簡單的原型,就是按照壹定規則組成的數獨表。通過隨機生成的地圖(即圖中所示的參考表),經過兩次變換,類似於翻譯,成為壹個看似沒有規則,但繼承了原型表規則的新數獨表。此外,值得壹提的是,兩個參考代不需要使用相同的地圖。
缺陷:其實這個算法只能算是壹個“偽算法”,因為它並沒有真正生成隨機的數獨表,只是壹個表象。