數獨是一種比較費時費腦的遊戲,一般難度的數獨玩下來也得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...