開源 完美破解九宮格(數獨)遊戲

2021-08-27 01:37:36 字數 2458 閱讀 5624

數獨是一種比較費時費腦的遊戲,一般難度的數獨玩下來也得1個小時左右,本人是偽數獨愛好者,碰到難點的數獨需要花上若干個小時,於是偷懶寫了一套破解程式,特拿出來分享,希望有人喜歡。

思路:1、從第乙個空格開始,計算出所有可能填充的數字,拿出第乙個進行填充,將剩下的可能數字記錄下來;

2、接著計算下乙個空格所有可能的數字(在前邊填充上的基礎上),拿出第乙個可能進行填充,將剩下的記錄;

3、以此下去;

4、直到出現這樣乙個空格:所有的數字都沒法填充(有衝突),就回到最後一次那個假設點,重新嘗試其它的可能數字;

5、以此下去;

6、直到填充完所有空格。

實現**:

using system;

using system.collections.generic;

using system.text;

/* ***********************************==

* author: 朱乙

* blog:

* email: [email protected]

**************************************** */

namespace sudokuresponder

int numarr = new int[81];

for (int i = 0; i < s.length; i++)

parr = getarray(numarr);

}public sudokuservice(int numarr)

parr = getarray(numarr);

}/// /// 獲取結果

///

///

public string getresult()}}

}return sb.tostring().trimend(',');

}/// /// 列印結果

///

public void printresult()

", pv.value);

console.foregroundcolor = consolecolor.white;

}console.write("| ");

}console.writeline();

}console.writeline("".padleft(25, '-'));}}

private number getarray(int defval);}

}}}int c = 0;

for (int m = 0; m < 3; m++)}}

}return parr;

}private void fillarray()

);if (!pv.ok)

parr[m][n][i][j].value = pv.value;}}

}//end small

}}//end big

}//清空該位置後邊的空格

private void clearafter(int pos)}}

}}}}

//記錄每個位置的可能數字

private listposvals = new list();

//獲取當前位置的可能數字

private posvalues getnumber(int pos)

//3宮格內

for (int i = 0; i < 3; i++)}}

//橫向

for (int n = 0; n < 3; n++)}}

//縱向

for (int m = 0; m < 3; m++)}}

if (nums.count == 0);}

var pv = posvals[posvals.count - 1];

pv.ok = false;

pv.value = pv.values[0];

pv.values.remove(pv.value);

if (pv.values.count == 0)

return pv;

}else

return pv;}}

}public struct number

public class posvalues

}

呼叫**:

using system;

using system.collections.generic;

namespace sudokuresponder

毫秒", span.milliseconds);

console.writeline("press enter to exit");

console.readline();}}

}

執行截圖:

數獨 九宮格 破解

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

九宮格數獨遊戲

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

數獨遊戲九宮格

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