Pentomino tiling: Difference between revisions

Content added Content deleted
mNo edit summary
m (→‎{{headerJava}}: formatting)
Line 74: Line 74:
}
}


static boolean tryPlaceOrientation(int[] o, int r, int c, int shapeIdx) {
static boolean tryPlaceOrientation(int[] o, int r, int c, int shapeIndex) {


for (int i = 0; i < o.length; i += 2) {
for (int i = 0; i < o.length; i += 2) {
if (r + o[i] < 0

if (r + o[i] < 0 || r + o[i] >= nRows || c + o[i + 1] < 0
|| r + o[i] >= nRows
|| c + o[i + 1] < 0
|| c + o[i + 1] >= nCols
|| c + o[i + 1] >= nCols
|| grid[r + o[i]][c + o[i + 1]] != -1)
|| grid[r + o[i]][c + o[i + 1]] != -1)
Line 84: Line 85:
}
}


grid[r][c] = shapeIdx;
grid[r][c] = shapeIndex;
for (int i = 0; i < o.length; i += 2)
for (int i = 0; i < o.length; i += 2)
grid[r + o[i]][c + o[i + 1]] = shapeIdx;
grid[r + o[i]][c + o[i + 1]] = shapeIndex;


return true;
return true;