function count = doBorders(piece, l, w) global newCount newRow = int8(zeros(1, w)); newColumn = int8(zeros(l, 1)); for i = 1:l if piece(i, 1) newPiece = [newColumn piece]; newPiece(i, 1) = 1; tryPiece(newPiece); end if piece(i, w) newPiece = [piece newColumn]; newPiece(i, w + 1) = 1; tryPiece(newPiece); end end for j = 1:w if piece(1, j) newPiece = [newRow; piece]; newPiece(1, j) = 1; tryPiece(newPiece); end if piece(l, j) newPiece = [piece; newRow]; newPiece(l + 1, j) = 1; tryPiece(newPiece); end end count = newCount;