免责声明:找到方形框的主题,其中的算法仅适用于该特定问题。
我正在制作一个递归回溯数据求解器,但是我无法指定哪个盒子与给定的单元格相关。
假设我们有一块带有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;
}
然而,如果说我们有一个带有2x3单元大小的盒子的6x6电路板,算法会是什么样子?我似乎无法弄清楚..
提前致谢: - )
编辑:[部分解决] 我粗暴地强迫它,强迫盒子的高度总是大于宽度。不过,我对这个有趣的算法感兴趣:)
答案 0 :(得分:0)
给定的算法仅适用于方框。现在你有一个矩形框,你需要一个额外的高度属性(给定的示例算法重用宽度参数,其中需要一个单元格高度 - 正方形确定,一般情况下矩形不正常)