MathDB

Subcontests

(8)

Covering a triangular grid with rhombi

The sides of an equilateral triangle with sides of length nn have been divided into equal parts, each of length 11, and lines have been drawn through the points of division parallel to the sides of the triangle, thus dividing the large triangle into many small triangles. Nils has a pile of rhombic tiles, each of side 11 and angles 6060^\circ and 120120^\circ, and wants to tile most of the triangle using these, so that each tile covers two small triangles with no overlap. In the picture, three tiles are placed somewhat arbitrarily as an illustration. How many tiles can Nils fit inside the triangle? [asy] /* original code by fedja: https://artofproblemsolving.com/community/c68h207503p1220868 modified by Klaus-Anton: https://artofproblemsolving.com/community/c2083h3267391_draw_me_a_grid_of_regular_triangles */ size(5cm); int n=6; pair A=(1,0), B=dir(60); path P=A--B--(0,0)--cycle; path Pp=A--shift(A)*B--B--cycle;
/* label("AA",A,S); label("BB",B,dir(120)); label("(0,0)(0,0)",(0,0),dir(210));
fill(shift(2*A-1+2*B-1)*P,yellow+white); fill(shift(2*A-1+2*B-0)*P,yellow+white); fill(shift(2*A-1+2*B+1)*P,yellow+white); fill(shift(2*A-1+2*B+2)*P,yellow+white);
fill(shift(1*A-1+1*B)*P,blue+white); fill(shift(2*A-1+1*B)*P,blue+white); fill(shift(3*A-1+1*B)*P,blue+white); fill(shift(4*A-1+1*B)*P,blue+white); fill(shift(5*A-1+1*B)*P,blue+white);
fill(shift(0*A+0*B)*P,green+white); fill(shift(0*A+1+0*B)*P,green+white); fill(shift(0*A+2+0*B)*P,green+white); fill(shift(0*A+3+0*B)*P,green+white); fill(shift(0*A+4+0*B)*P,green+white); fill(shift(0*A+5+0*B)*P,green+white);
fill(shift(2*A-1+3*B-1)*P,magenta+white); fill(shift(3*A-1+3*B-1)*P,magenta+white); fill(shift(4*A-1+3*B-1)*P,magenta+white);
fill(shift(5*A+5*B-5)*P,heavyred+white);
fill(shift(4*A+4*B-4)*P,palered+white); fill(shift(4*A+4*B-3)*P,palered+white);
fill(shift(0*A+0*B)*Pp,gray); fill(shift(0*A+1+0*B)*Pp,gray); fill(shift(0*A+2+0*B)*Pp,gray); fill(shift(0*A+3+0*B)*Pp,gray); fill(shift(0*A+4+0*B)*Pp,gray);
fill(shift(1*A+1*B-1)*Pp,lightgray); fill(shift(1*A+1*B-0)*Pp,lightgray); fill(shift(1*A+1*B+1)*Pp,lightgray); fill(shift(1*A+1*B+2)*Pp,lightgray);
fill(shift(2*A+2*B-2)*Pp,red); fill(shift(2*A+2*B-1)*Pp,red); fill(shift(2*A+2*B-0)*Pp,red);
fill(shift(3*A+3*B-2)*Pp,blue); fill(shift(3*A+3*B-3)*Pp,blue);
fill(shift(4*A+4*B-4)*Pp,cyan);
fill(shift(0*A+1+0*B)*Pp,gray); fill(shift(0*A+2+0*B)*Pp,gray); fill(shift(0*A+3+0*B)*Pp,gray); fill(shift(0*A+4+0*B)*Pp,gray); */
fill(Pp, rgb(244, 215, 158)); fill(shift(dir(60))*P, rgb(244, 215, 158));
fill(shift(1.5,(-sqrt(3)/2))*shift(2*dir(60))*Pp, rgb(244, 215, 158)); fill(shift(1.5,(-sqrt(3)/2))*shift(2*dir(60))*P, rgb(244, 215, 158));
fill(shift(-.5,(-sqrt(3)/2))*shift(4*dir(60))*Pp, rgb(244, 215, 158)); fill(shift(.5,(-sqrt(3)/2))*shift(4*dir(60))*P, rgb(244, 215, 158));
for(int i=0;ishipout(bbox(2mm,Fill(white))); [/asy]