時限:1000ms 記憶體限制:10000k 總時限:3000ms
描述數獨遊戲規則
在9階方陣中,包含了81個小格(九列九行),其中又再分成九個小正方形(稱為宮),每宮有九小格。
遊戲剛開始時,盤面上有些小格已經填了數字(稱為初盤),遊戲者要在空白的小格中填入1到9的數字,
使得最後每行、每列、每宮都不出現重複的數字,而且每乙個遊戲都只有乙個唯一的解答(稱為終盤)。
輸入乙個9*9的矩陣,0表示該位置是空白。
輸出乙個9*9的矩陣,格式與輸入類似。
輸入樣例
900050060
020070100
300102040
703800529
000345000
516009403
050208006
007090010
030010004
輸出樣例
971453268
428976135
365182947
743861529
892345671
516729483
154238796
687594312
239617854
#include
int a[9][9];
void search(int m);
int test(int n);
void output();
int main()
} }
search(0);
return 0; }
void search(int m)
if(m==81)
if(m>=0&&m<=80)
if(a[x][y]==0)
a[x][y]=0; }
} }int test(int n)
for(j=0;j<=8;j++)
int l=(x/3)*3,c=(y/3)*3;
for(i=l;i<=l+2;i++)
} return 1; }
void output()
printf("\n"); }
}
C語言數獨遊戲求解
數獨遊戲的解法 先將數獨分為九個格仔,用乙個陣列將每個小九宮格的候選數存放下來,將候選數挨個放進數獨裡的空位,如果這一行和這一列都沒有這個數字,繼續放入下乙個,如果不能放入的話就回到上一步繼續嘗試,直到成功求出數獨的解為止 比如這個數獨第乙個九宮格的候選數就有1,2,7,8,9,我們需要從1開始放入...
(C語言)判斷數獨是否正確
數獨是源自18世紀瑞士的一種數學遊戲。是一種運用紙 筆進行演算的邏輯遊戲。玩家需要根據9 9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮 3 3 內的數字均含1 9,不重複。當然,肯定不會讓你用程式完成沒填好的數獨的。現在給你乙個9 9填滿了數的格仔,想讓你檢查一下...
C 數獨遊戲 遞迴,回溯,驗證是否滿足數獨
你不去做,別人不知道你會做 送給我自己。題設 在9 9的數獨 內輸入幾個數字,自動完成數獨 準備 在充分理解遞迴,回溯之後,完成這個題目就不難了。但是高效能完成就還是得研究。原理概要 採用棧的資料結構模型存入已經輸入過得數獨 此時應該只有幾個 有數字,我們採用乙個標記數字記下這些數字位置,他們是不能...