C# 实现数独计算器
来源:互联网 发布:怎样安装天正软件 编辑:程序博客网 时间:2024/05/01 04:39
class Program { static Dictionary<int, int> list = new Dictionary<int, int>(); static void Main(string[] args) { for (int i = 0; i < 81; i++) { list.Add(i, 0); } list[0] = 5; list[2] = 9; Calc(0); Show(list); } static bool Validate(int key, int value) { int x = key / 9; int y = key % 9; return !list.Where(e => (e.Key / 9) == x || (e.Key % 9) == y || ((e.Key % 9) / 3 == y / 3) && ((e.Key / 9) / 3 == x / 3)).Select(e => e.Value).Contains(value); } static void Show(IEnumerable<KeyValuePair<int, int>> list) { foreach (var item in list) { int x = item.Key / 9 + 1; int y = item.Key % 9 + 1; if (item.Key % 9 == 0) Console.WriteLine(); Console.Write(item.Value + " "); } Console.WriteLine(); } static bool Calc(int key) { if (key == 81) { return true; } if (list[key] != 0) { return Calc(key + 1); } else { for (int i = 1; i <= 9; i++) { if (Validate(key, i)) { list[key] = i; Console.WriteLine(key + " -> " + i); if (Calc(key + 1)) { return true; } else { list[key] = 0; } } } return false; } } }
1 0
- C# 实现数独计算器
- 数独计算器
- 用C++实现的数独(Sudoku)计算器
- 回溯算法-数独(计算器)
- java编写数独计算器
- [实用工具] 简单的数独计算器
- 数独(sudoku)实现
- python 数独实现
- C#简单实现九宫数独算法:穷举+回溯
- 数独的java实现
- Java 实现完成数独
- 数独生成C++实现
- 数独解法 C++实现
- 数独解法Java实现
- Javascript实现数独算法
- 数独之Java实现
- 数独的简单实现
- 数独生成算法实现
- Java加密技术(二)——对称加密算法DES&AES
- 数据库TimeStamp
- [c++]最大流算法
- 整理的Swift 第三库
- Java Static关键字引发的思考
- C# 实现数独计算器
- leetcode---Minimum Path Sum---动规
- 一个热血青年的梦想(起航)
- BigDecimal类的加减乘除
- 模板方法模式
- jQuery 获取当前节点的html包含当前节点的方法
- 二维数组定义及初始化
- 鼠标滚轮实现图片缩放
- 2016.6.13 零基础学习hadoop到上手工作线路指导(中级篇)