function count = doEdges(piece, l, w) global newCount for i = 2:(l - 1) if piece(i, 1) == 0 if piece(i - 1, 1) || piece(i + 1, 1) || piece(i, 2) newPiece = piece; newPiece(i, 1) = 1; tryPiece(newPiece); end end if piece(i, w) == 0 if piece(i - 1, w) || piece(i + 1, w) || piece(i, w - 1) newPiece = piece; newPiece(i, w) = 1; tryPiece(newPiece); end end end for j = 2:(w - 1) if piece(1, j) == 0 if piece(1, j - 1) || piece(1, j + 1) || piece(2, j) newPiece = piece; newPiece(1, j) = 1; tryPiece(newPiece); end end if piece(l, j) == 0 if piece(l, j - 1) || piece(l, j + 1) || piece(l - 1, j) newPiece = piece; newPiece(l, j) = 1; tryPiece(newPiece); end end end count = newCount;