# Sudoku
**Repository Path**: KyouyamaKazusa/Sudoku
## Basic Information
- **Project Name**: Sudoku
- **Description**: 一个使用暴力破解和普通逻辑算法解题的数独分析 SDK。
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: main
- **Homepage**: https://sudoku.kazusa.tech
- **GVP Project**: No
## Statistics
- **Stars**: 66
- **Forks**: 14
- **Created**: 2020-03-16
- **Last Updated**: 2025-09-19
## Categories & Tags
**Categories**: mathlibs
**Tags**: 数独, 数独技巧, 人工模拟分析, 问题解决
## README
Language switch to: English
[](https://github.com/kyoyama-kazusa/Sudoku/stargazers)
[](https://github.com/kyoyama-kazusa/Sudoku/issues)
[](https://github.com/kyoyama-kazusa/Sudoku/blob/main/LICENSE)





[](https://github.com/kyoyama-kazusa/Sudoku/tree/main/src/SudokuStudio/SudokuStudio)
[](https://github.com/kyoyama-kazusa/Sudoku)
[](https://gitee.com/KyouyamaKazusa/Sudoku)
[](https://space.bilibili.com/23736703)
## 简介
一个使用暴力破解和普通逻辑算法解题的数独分析解题 SDK。
## 界面

## 项目定位
这个仓库的代码适用于下面这些人群:
* **喜欢钻研数独算法的人**:如果你想要钻研数独有关的实现机制和背后运行机制的话,你可以在这个项目里找到对应的答案。
* **尝试学习 C# 有关特性的人**:这个项目使用了一些较新的 C# 语言特性,并且你可以在这里学到一些 .NET 相关的技术,比如 Windows UI。
* **我自己**:我自己会提前对之前想到的代码和算法进行一些实现,这样就防止我忘记它们的原理和处理规则。
## API 支持
* 题目生成
* 标准出题器
* 基于图案的出题器
* 基于难题图案的出题器
* 基于必含技巧的出题器
* 出题筛选器
* 解题
* 位运算算法
* 舞蹈链算法
* 回溯算法(深度优先)
* 也提供了广度优先的等价实现
* LINQ 算法
* 字典查询算法
* 布尔可满足性归约算法(SAT 归约算法)
* 分析题目
* 题目难度分析
* 题目步骤分析
* 卡点分析
* 直观技巧特殊支持(如余数性质等)
* 盘面差异 & 技巧使用分析
* 对部分超难和仅供研究的技巧的支持
* 秩理论相关(秩计算,组合计算和删数)
* 绘图
* GDI+ 项目盘面绘图功能(增删绘图节点、盘面背景色配置、底部文字配置)
* UI 项目增量绘图性能优化
* 文本处理
* 各种盘面字符串导入导出
* JSON 可序列化众多数独相关数据结构
* 其他分析软件的兼容
* HoDoKu 所有技巧信息的集成,以及绝大部分技巧的实现
* Sudoku Explainer 绝大部分技巧信息的集成,以及绝大部分技巧的实现
### 技巧支持
* 直观技巧
* 单元唯一(Full House)
* 数字唯一(Last Digit)
* 排除(隐性唯一)
* 唯一余数(显性唯一)
* 局标候选数技巧
* 直观区块(区块排除、区块唯一余数)
* 直观数组(数组排除、数组唯一余数)
* 全标候选数技巧
* 区块类技巧
* 区块
* 割补(LoL)
* 欠一数组(ALC)
* 烟花数组
* 数组
* 显性数组
* 死锁数组
* 区块数组
* 显性数组
* 隐性数组
* 隐性死锁数组
* 隐性数组
* 鱼(含鱼鳍逻辑)
* 普通鱼
* 复杂鱼
* 宫内鱼
* 交叉鱼
* 链式同数结构
* 双强链
* 摩天楼
* 双线风筝
* 多宝鱼
* 空矩形(ER)
* 短链结构
* 规则 Wing(XY-Wing、XYZ-Wing 等)
* 不规则 Wing
* W-Wing
* M-Wing
* 其他(S-Wing、H-Wing、L-Wing)
* XYZ 环
* 瘦姨环 & 胖姨环
* 致命结构
* 无条件致命结构
* 唯一矩形(UR)
* 唯一环(UL)
* 拓展矩形(XR)
* 探长致命结构
* 淑芬致命结构
* 唯一矩阵
* 唯一性提示信息覆盖(UCC)
* 条件致命结构
* 旋转致命结构
* 其他致命结构(规格 = 8)
* 其他
* 全双值格致死解法(BUG)
* 反转双数致命结构(反 BUG)
* 涂色(**只有 API 支持**)
* 简易涂色
* 色链规则
* 色分规则
* 链
* 非区块链
* 标准链(AIC)
* 连续环(CNL)
* 有名字的链
* 远程数对
* 标准远程数对
* 复杂远程数对
* 区块链
* 区块链(GAIC)
* 区块环(GCNL)
* 节点重叠
* 绽放逻辑
* 绽放环
* 鳍逻辑
* 鳍链
* 区块鳍链
* 强制链
* 区域强制链
* 单元格强制链
* 矩形强制链
* 全双值格致死解法强制链
* 动态链
* 线性动态链
* 线性动态链
* 线性动态区块链
* Bowman's Bingo
* 动态强制链
* 动态单元格强制链
* 动态区域强制链
* 动态矛盾强制链
* 动态二值矛盾强制链
* 待定数组(ALS)
* 链式待定数组
* 待定数组・双强链
* 待定数组・XY-Wing
* 待定数组・W-Wing
* 待定数组・链
* 伪数组
* 对交空矩形
* 死亡绽放
* 单元格绽放
* 区域绽放
* n 次 ALS 绽放
* 秩逻辑
* 0 秩逻辑
* 融合待定数组(SDC,标准类型、孤立数类型和自噬类型)
* 三维融合待定数组
* 多米诺环
* 网(MSLS)
* 负秩逻辑
* 守护者
* 二值死环(类型 2、3、4)
* 三值死环(“三顺一逆”规则)
* 飞鱼
* 初级飞鱼(JE)
* 高级飞鱼(SE)
* 双飞鱼
* 衰弱飞鱼(WE)
* 复杂飞鱼
* 复杂初级飞鱼
* 复杂高级飞鱼
* 对称性
* 宇宙(GSP,标准和反演类型)
* 枚举类技巧
* 均衡数组
* 爆破类技巧
* 图案叠加删数
* 计算机试数(BF)
> 其中的“不规则 Wing”技巧就是除了 Broken Wing(守护者)以外的所有名字带 Wing 的技巧类型。这些技巧一般长度为 5,三强两弱,只比双强链多了一个强链关系,因此在国内一般称为“短链结构”,包含 W-Wing、M-Wing、Hybrid-Wing、Local-Wing 和 Split-Wing 五种,以及一个叫 Purple Cow 的技巧(这个技巧名称特殊,但也归在这个范围之中)。其中,只有 W-Wing 单独有实现规则的代码,剩下的短链结构全部在“交替推导链”(即 AIC)的代码里实现。
## 关于该仓库的复刻(Fork)及代码拉取请求(Pull Requests)
当然,你可以复制这个仓库到你的账号下,然后做你想做的任何事情。你可以在基于 [MIT](https://github.com/kyoyama-kazusa/Sudoku/blob/main/LICENSE) 开源协议的情况下做你任何想做的事情。不过,由于 Gitee 是从 GitHub 拷贝过来的,所以 Gitee 项目暂时不支持任何的代码拉取请求,敬请谅解;不过这两个仓库都可以创建 issue。
## 开源协议
### `Sudoku.Drawing` 代码项目
如果你需要使用里面 `Ocr` 文件夹下的 OCR 相关 API,请查看该项目在仓库里的 `LICENSE-OCR` 文件。
### 仓库文件夹 docs
仓库里还有一个文件夹 `docs` 放的是文档项目:
* 完整的数独教程(docs/tutorial)
* Sudoku Studio 软件使用手册(docs/manual)
那两个项目因为是文档项目,所以采用不同的协议 - [CC-BY-4.0 International](https://github.com/kyoyama-kazusa/Sudoku/blob/main/LICENSE-WIKI) 协议。
### 其他项目
本仓库的其他项目都采用 MIT 开源协议。MIT 开源协议意味着**你需要在你的应用程序里声明本项目的作者信息**。
## 行为准则
为了建立好良好的讨论氛围和代码提交规范,本项目使用了默认规定的行为准则。请查看[行为准则](CODE_OF_CONDUCT)文件。
## 作者
一个热爱开发的非开发人员。
如果要联系我,请查看 [CONTACTS-zh-cn](CONTACTS-zh-cn.md) 文件了解我的联系方式。