|
|
A246533
|
|
List of fixed polyominoes in binary coding, ordered by number of bits, then value of the binary code. Can be read as irregular table with row lengths A001168.
|
|
3
|
|
|
0, 1, 3, 5, 7, 11, 19, 21, 22, 37, 15, 23, 27, 30, 39, 53, 54, 75, 139, 147, 149, 150, 156, 275, 277, 278, 293, 306, 549, 31, 47, 55, 62, 79, 91, 94, 143, 151, 155, 157, 158, 181, 182, 188, 203, 220, 279, 283, 286, 295, 307, 309, 310, 314, 403, 405, 406, 412, 434, 440
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,3
|
|
COMMENTS
|
The binary coding (as suggested in a post to the SeqFan list by F. T. Adams-Watters) is obtained by summing the powers of 2 corresponding to the numbers covered by the polyomino, when the points of the quarter-plane are numbered by antidiagonals, and the animal is pushed to both borders as to obtain the smallest possible value. See example for further details.
The smallest value for an n-omino is the sum 2^0+...+2^(n-1) = 2^n-1 = A000225(n), and the largest value, obtained for the straight n-omino in y direction, is 2^0+2^2+2^5+...+2^(A000217(n)-1) = A246534(n).
|
|
LINKS
|
|
|
EXAMPLE
|
Number the points of the first quadrant as follows:
...
9 ...
5 8 ...
2 4 7 ...
0 1 3 6 10 ...
The "empty" 0-omino is represented by the empty sum equal to 0 = a(1).
The monomino is represented by a square on 0, and the binary code 2^0 = 1 = a(2).
The two fixed dominos are ".." and ":", represented by 2^0+2^1 = 3 = a(3) and 2^0+2^2 = 5 = a(4).
The A001168(3) = 6 fixed trominoes are represented by 2^0+2^1+2^3 = 11 (...), 2^0+2^1+2^2 = 7 (:.), 2^0+2^1+2^4 =19 (.:), ..., 2^0+2^2+2^5 = 37; again these 6 values are listed in increasing size as a(5), ..., a(10).
|
|
PROG
|
(PARI) grow(L, N=[], D=[[1, 0], [0, 1], [-1, 0], [0, -1]])={ for(i=1, #L, for(j=1, #P=L[i], for(k=1, #P, for(d=1, #D, vecmin(P[k]+D[d])<0 && P-=vector(#P, i, D[d])/*shift if needed*/; !setsearch(P, P[k]+D[d]) && N=setunion([setunion([P[k]+D[d]], P)], N); P!=L[i] && P+=vector(#P, i, D[d])/*undo...*/)))); if(N, N, [[[0, 0]]])}
p2n(P)=sum(i=1, #P, 2^(P[i][2]+A000217(P[i][1]+P[i][2])))
for(i=0, 5, print(vecsort(apply(p2n, L=if(i, grow(L), [[]])))))
|
|
CROSSREFS
|
See A246521 and A246559 for enumeration of free and one-sided polyominoes.
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|