免责声明:找到带有方框的主题,并且那里的算法仅适用于该特定问题。
我正在制作一个递归回溯数独求解器,但我无法分配与给定单元格相关的框。
假设我们有一个带有 2x2 单元大小的盒子的 4x4 板。拟合算法将是(来自相关主题):
int numMajorRows = 2;
int numMajorCols = 2;
int width = 2;
// assuming row and col also start at 1.
int squareNumber(int row, int col) {
int majorRow = (row-1) / width; // zero based majorRow
int majorCol = (col-1) / width; // zero based majorCol
return majorCol + majorRow * numMajorCols + 1;
}
但是,如果假设我们有一个 6x6 板和 2x3 单元大小的盒子,算法会是什么样子?我只是似乎无法弄清楚..
提前致谢 :-)
编辑:[部分解决]我蛮力强迫它,强制盒子的高度总是大于宽度。不过,我对此很感兴趣:)