Sudoku

全局类型别名

本页面列举一些本项目会用到的一些类型别名,作用于全局的别名。

Mask 类型

全局声明:global using Mask = short;

Mask 类型表示的是项目里用到的掩码数据。它们在默认情况下,表示的是候选数存在与否的状态二进制序列。由于 9 阶数独一共有 9 个数字状态,因此会用到 9 个比特位,所以 Mask 的最小实现是 short 类型。

Cell 类型

全局声明:global using Cell = int;

Cell 类型表示的是单元格数据。单元格一般只有 81 个单元格,但它非常常见,因此它的等价类型为 int

Digit 类型

全局声明:global using Digit = int;

Digit 类型表示的是单元格里的填数,它可以为 -1,表示空格;0 到 8 则表示数字 1 到 9。它的等价类型为 int

Candidate 类型

全局声明:global using Digit = int;

Candidate 类型表示的是候选数的情况,它的取值范围是 0 到 728,表示的是全盘 729 个候选数,每一个的索引。它的等价类型为 int

House 类型

全局声明:global using House = int;

House 类型表示的是区域的索引。数独盘面一共有 9 个行、9 个列和 9 个宫,一共 27 个区域。House 的取值范围也是 0 到 26。其中:

它的等价类型为 int