Skip to main content
26 votes

Concentric rings on a snub square tiling

Ruby, 26 bytes ->n{~-n*12-496/4**n%4+1/n} Try it online! Revised version adding 1/n and subtracting ...
Level River St's user avatar
16 votes

Is it a checkered tiling?

JavaScript, 106 101 bytes s=>[...s,'!',s].reverse().join``.match(`(.)((?!\\1).)[^!]{${s.indexOf` `-1}}((?!\\1|\\2).)(\\2|\\3)`) Try it online! (Returns ...
m90's user avatar
  • 10.7k
15 votes

How should I tile my kitchen?

APL (Dyalog Unicode), 193 bytes ...
Bubbler's user avatar
  • 78.4k
15 votes

Piet (Mondrian)'s Puzzle

Piet, 9625 (It finally works!) The people demanded it, so here it is. This is an extremely naive solution (essentially the same as the loose upper bounds on the OEIS page): it divides each square ...
Tim Pederick's user avatar
  • 1,721
14 votes

Triangular domino tiling of an almost regular hexagon

APL (Dyalog Classic), 14 bytes ×/1+1÷1+∘,1⊥¨⍳ Try it online! Uses 0 indexing with ⎕IO←0. Explanation: ...
Jo King's user avatar
  • 47.5k
13 votes

Test a polyomino against Conway criterion

Python 3.8 (pre-release), 371 ... 338 336 bytes Takes as input a list of complex numbers, denoting the boundary coordinates in counterclockwise order. -9 bytes thanks to @ovs -2 bytes thanks to @...
dingledooper's user avatar
  • 22.9k
13 votes

Tiling a staircase with staircases

JavaScript (ES10),  250 ... 228  227 bytes ...
Arnauld's user avatar
  • 198k
13 votes

Is it a checkered tiling?

Python 3, 100 99 88 bytes lambda a:2in[len({i,l}^{k,j})for x,y in zip(a,a[1:])for i,j,k,l in zip(x,x[1:],y,y[1:])] Try it online! Return ...
Jakque's user avatar
  • 2,728
11 votes

Draw the GKMS aperiodic tile

JavaScript (ES6), 150 bytes -10 thanks to @Neil Generates a SVG. ...
Arnauld's user avatar
  • 198k
10 votes

Is it a checkered tiling?

Python 2, 167 153 143 bytes ...
fireflame241's user avatar
  • 16.3k
9 votes

Concentric rings on a snub square tiling

JavaScript (ES6), 23 bytes Based on Level River St's answer. n=>[1,5,13,7][--n]^n*12 Try it online! How? We compute \$(n-1)\times12\$ and adjust the first 4 ...
Arnauld's user avatar
  • 198k
9 votes

Concentric rings on a snub square tiling

05AB1E, 9 bytes <©12*3®cα Try it online! or try a test suite. ...
Grimmy's user avatar
  • 15.8k
9 votes

Is this a robbery?

Jelly,  10  8 bytes ḟ⁶OIA7fỌ A full program which prints an empty string (falsey) if all is well or a bell character if not (a bell character is also truthy). ...
Jonathan Allan's user avatar
9 votes

Is this a robbery?

Brachylog, 17 12 10 bytes -5 bytes by not distinguishing between Employees and Jewels -2 bytes using addition, not multiplication, so I get 7 for \a for free Empty tiles are ...
xash's user avatar
  • 11.3k
9 votes

Is it a checkered tiling?

JavaScript, 98 bytes -3 bytes by Arnauld ...
tsh's user avatar
  • 35.7k
8 votes

Finite tilings in one dimension

JavaScript (ES6), 74 73 70 bytes Takes input as an array of 32-bit integers. Returns a boolean. ...
Arnauld's user avatar
  • 198k
8 votes

Triangular domino tiling of an almost regular hexagon

Perl 6, 38 30 bytes {[*] map 1+1/(*+1),[X+] ^<<@_} Try it online! Based on the formula given in the question Explanation: ...
Jo King's user avatar
  • 47.5k
8 votes
Accepted

Concentric rings on a snub square tiling

Jelly, 8 bytes ’3cạ×ʋ12 Try it online! How? ...
Jonathan Allan's user avatar
8 votes

Number of tilings on a triangular board with triangular tiles

JavaScript (Node.js), N =  22 25  32 in ~2 seconds A recursive search using bit masks and a cache to keep track of patterns whose result is already known. It doesn't make much sense to try go further ...
Arnauld's user avatar
  • 198k
8 votes

Can this polyomino tile the toroidal grid?

Python 2, 300 265 163 bytes -35 bytes after suggestions from @xnor, @ovs, and largely @user202729 (removing evenly divisible check allowed for a one-liner + lambda) -102 bytes following encouragement +...
fireflame241's user avatar
  • 16.3k
8 votes

Maximal saturated domino covering of a rectangle

Sagemath, 60 bytes lambda m,n:m*n-len(graphs.GridGraph([m,n]).dominating_set()) Try it online! From Saturated Domino Coverings by Buchanan et al: Corollary 6.3: ...
Sisyphus's user avatar
  • 15k
8 votes

Is it a checkered tiling?

Ruby, 108 bytes ->a{w,i,j,q=0;a.map{|x|w,i=(j=x.zip(j||x).map{|y,c|[y==i ?w:w^=1,i=y,q||=((c[0]==w)^(c[1]==i))&&j]})[0]};!q} Try it online!
G B's user avatar
  • 22.8k
7 votes

Concentric rings on a snub square tiling

Python, 31 bytes lambda n:n*12-11-(n>4or 5%-n%5) Try it online!
xnor's user avatar
  • 147k
7 votes

Number of tilings on a triangular board with triangular tiles

Rust, \$n \le 44\$ in 42 seconds Build with rustc -O. Uses about 800 MiB of memory for \$n = 38\$, and \$39 \le n \le 44\$ are trivial. \$n = 45\$ will almost ...
Anders Kaseorg's user avatar
6 votes

Generate valid Fibonacci tilings

APL (Dyalog Unicode), 43 bytes (1+∘÷⍣=1){'LS'[∪2</⍺|(⍺×(⍳÷⊢)2*⍵)∘.+⍳⍵]}1∘+ Try it online! This uses the alternative formulation (actually the first one) shown ...
Bubbler's user avatar
  • 78.4k
6 votes

Simplest Tiling of the Floor

APL(Dyalog Unicode), 53 37 36 bytes SBCS {⌊/×/¨⍸(~6∊' a'∧/⍤⍳⍵⊢⌸⍥,⍨|)⍤0 2⍨⍳⍴⍵} Try it on APLgolf! Instead of partitioning, this one groups the characters in the ...
Bubbler's user avatar
  • 78.4k
6 votes

Piet (Mondrian)'s Puzzle

C 6108 This uses a recursive (really iterative) version of the minimal solution. Instead of dividing the square into two rectangles where one is a little bit bigger than half the area, it divides it ...
Jay Anderson's user avatar
6 votes

Arranging arbitrary rectangles to fill a space

Haskell, 226 bytes ...
Anders Kaseorg's user avatar
6 votes

Mondrian Puzzle Sequence

Befunge, 708 bytes ...
James Holderness's user avatar
6 votes

ASCII Jigsaw Puzzle

JavaScript (ES6) 272 277 271 Edit bug fix Edit 2 saved 6 bytes thx @L.Serné Edit 3 bug fix again ...
edc65's user avatar
  • 32.2k

Only top scored, non community-wiki answers of a minimum length are eligible