九宮格數獨 回溯法

2021-07-24 18:59:42 字數 1414 閱讀 5286

你一定聽說過「數獨」遊戲。

如【圖1.png】,玩家需要根據9×9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行、每一列、每乙個同色九宮內的數字均含1-9,不重複。

數獨的答案都是唯一的,所以,多個解也稱為無解。

本圖的數字據說是芬蘭數學家花了3個月的時間設計出來的較難的題目。但對會使用計算機程式設計的你來說,恐怕易如反掌了。

本題的要求就是輸入數獨題目,程式輸出數獨的唯一解。我們保證所有已知資料的格式都是合法的,並且題目有唯一的解。

格式要求,輸入9行,每行9個數字,0代表未知,其它數字為已知。

輸出9行,每行9個數字表示數獨的解。

例如:

輸入(即圖中題目):

005300000

800000020

070010500

400005300

010070006

003200080

060500009

004000030

000009700

程式應該輸出:

145327698

839654127

672918543

496185372

218473956

753296481

367542819

984761235

521839764

再例如,輸入:

800000000

003600000

070090200

050007000

000045700

000100030

001000068

008500010

090000400

程式應該輸出:

812753649

943682175

675491283

154237896

369845721

287169534

521974368

438526917

796318452

資源約定:

峰值記憶體消耗 < 256m

cpu消耗  < 2000ms

#include int a[9][9];  

//驗證函式

int place(int x, int y) //二者分別是陣列對應的行位址和列位址,取值為0-8

for(i=0;i<9;i++)

for(i=up;i}

return 1;

}

void backtrack(int t)

} else

else

} }

}

int main()

數獨 九宮格 破解

說到數獨,或者九宮格,我想大家一定都不陌生,初中高中看的各種雜誌上都有這種益智遊戲,現在的智慧型手機上也有人寫出了這種遊戲,閒暇時候玩玩也能活躍一下腦子。還有看 模仿遊戲 這部電影裡面,圖靈在選拔隊友的時候好像出的也是數獨的題目。我本來對數獨不是太感興趣,但是乙個偶然的機會看到朋友在玩這個遊戲,就想...

九宮格數獨遊戲

乙個九宮格數獨遊戲,以下是思路和html檔案,由於水平有限沒有使用什麼比較高階的語法,都是一些基礎的東西,所以 比較長。思路是把數獨理解成乙個二維陣列,只要每次遊戲開始隨機生成乙個符合九宮格規則的9 9二維陣列即可。如果不隨機就可以記答案,遊戲就沒意思了 1.1輸入原型陣列,這個陣列要符合規則 1....

數獨遊戲九宮格

初步定義 使用資料結構的方式實現九宮格數獨遊戲 include stdio.h 標準輸入輸出標頭檔案 include conio.h 包含getch 的標頭檔案 include stdlib.h 包含rand 的標頭檔案 include assert.h 包含assert 的標頭檔案 include...