程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 用程序來解數獨

用程序來解數獨

編輯:C#入門知識

數獨(Sudoku,記憶中這個游戲也叫九宮格,可能是我記錯了,應該叫數獨比較准確)

),突然想起去年的時候,因為微博上一篇關於某個外國學者花費3個月,研究出一道只有一種答案的數獨題,然後自己一時熱血湧上,花了3個鐘寫了個程序解了這道題。

每一行、每一列、每一個九宮格中都含有1-9九個數字,且不重復。那就可以根據這一規則來制定解題的流程、邏輯。

   _x = , _y =  TextBox[,] _tbs =  TextBox[_x, _y];

 

 
     count = [] indexs = <> numbers =  ( i = ; i < _x; ++ ( j = ; j < _y; ++ (.IsNullOrEmpty(_tbs[i, j].Text.Trim()) || !.TryParse(_tbs[i, j].Text.Trim(),  ns = (ns.Count ==    (ns.Count <==  [=
     (numbers ==   tb = _tbs[indexs[], indexs[= numbers[  (numbers.Count > =  
 IList<> GetNums( x, 
     cells =  List<TextBox> xstart = x /  * = y /  *  ( i = xstart, iend = xstart + ; i < iend; ++ ( j = ystart, yend = ystart + ; j < yend; ++ nums =  List<> ( num = ; num <= ; ++ (nums.Contains(num))  isIn = 
         ( index = ; index < _y; ++ (index != y &&
                !.IsNullOrEmpty(_tbs[x, index].Text.Trim()) &&
                .TryParse(_tbs[x, index].Text.Trim(),  val) &&===  (isIn) 
         ( index = ; index < _x; ++ (index != x &&
                !.IsNullOrEmpty(_tbs[index, y].Text.Trim()) &&
                .TryParse(_tbs[index, y].Text.Trim(),  val) &&===  (isIn) 
         tb = ( c  (c != tb &&
                !.IsNullOrEmpty(c.Text.Trim()) &&
                .TryParse(c.Text.Trim(),  val) &&===  (isIn) 

 

   

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved