A table $110\times 110$ is given, we define the distance between two cells $A$ and $B$ as the least quantity of moves to move a chess king from the cell $A$ to cell $B$. We marked $n$ cells on the table $110\times 110$ such that the distance between any two cells is not equal to $15$. Determine the greatest value of $n$.
Problem
Source: Peru EGMO TST 2020 #6
Tags: chess, combinatorics
19.03.2021 00:25
Hit: Colouring the chessboard black-white now we can see that .... So we can have $110^2/2$ Now prove that we can not have more than this(How?) If we make $110^2/2$ sets by two square Which have distance $15$ we are done
19.03.2021 19:45
A bit of a narrative from yesterday: Spacesam: its so nice whenever you encounter a grids problem that isnt just Spacesam: "HAHA PULL COLORING FROM THIN AIR GO BRRR" [10 hours later and after problem is solved] Me: Yea it was basically "PULL COLORING FROM THIN AIR" Back to the problem, solved by me, Spacesam, tigershark22, and LYC. We can note clearly $\frac{110^2}2$ is achievable, by putting everything on a black square (note a knight move switches square parity). Now, to show this is the maximal, we'll have to show the following two moves are only possible with at least 15 moves. Both will share the following base move, which will transpose a square to the right by 24 squares, moving only below the current row, and takes exactly 12 moves: [asy][asy] size(8cm); path sq = (0,0)--(0,1)--(1,1)--(1,0)--cycle; for (int i=0;i<5;++i) { for (int j=0;j<3;++j) { if ((i+j)%2==0) fill(shift(i,j)*sq,black); else fill(shift(i,j)*sq,green); } } draw((0.5, 2.5)--(0.5, 1.5)--(2.5,1.5),red,EndArrow); draw((2.5, 1.5)--(4.5, 1.5)--(4.5,2.5),red,EndArrow); dot((6, 1.5)); dot((7, 1.5)); dot((8, 1.5)); for (int i=9;i<14;++i) { for (int j=0;j<3;++j) { if ((i+j)%2==0) fill(shift(i,j)*sq,black); else fill(shift(i,j)*sq,green); } } draw((9.5, 2.5)--(9.5, 1.5)--(11.5,1.5),red,EndArrow); draw((11.5, 1.5)--(13.5, 1.5)--(13.5,2.5),red,EndArrow); [/asy][/asy] Our first move will finish in the following way: [asy][asy] size(4cm); path sq = (0,0)--(0,1)--(1,1)--(1,0)--cycle; for (int i=0;i<5;++i) { for (int j=0;j<3;++j) { if ((i+j)%2==0) fill(shift(i,j)*sq,black); else fill(shift(i,j)*sq,green); } } draw((0.5, 2.5)--(0.5, 1.5)--(2.5,1.5),red,EndArrow); draw((2.5, 1.5)--(4.5, 1.5)--(4.5,0.5),red,EndArrow); draw((4.5, 0.5)--(3.5, 0.5)--(3.5,2.5),red,EndArrow); [/asy][/asy] this will take us a total of 27 moves to the right. The second will finish in the following way: [asy][asy] size(4cm); path sq = (0,0)--(0,1)--(1,1)--(1,0)--cycle; for (int i=0;i<5;++i) { for (int j=0;j<6;++j) { if ((i+j)%2==0) fill(shift(i,j)*sq,black); else fill(shift(i,j)*sq,green); } } draw((0.5, 5.5)--(0.5, 4.5)--(2.5,4.5),red,EndArrow); draw((2.5, 4.5)--(2.5, 2.5)--(3.5,2.5),red,EndArrow); draw((3.5, 2.5)--(3.5, 0.5)--(4.5,0.5),red,EndArrow); [/asy][/asy] This will take us 28 squares right and 5 squares down. To show these are optimal, note we can move at most 2 squares in a direction per move, implying that we must have at least 14 moves for both of them. We finish by noting that parity forces at least 15 moves. Now, we can form a $54\times 10$ square such that $(x,y)\mapsto ((x+27)\pmod{54},y)$, and a $56\times 10$ square such that $(x,y)\mapsto((x+28)\pmod{56},(y+5)\pmod{10})$ can each be divided into pairs of squares such that two squares in a pair are exactly 15 moves away. Repeating this 11 times below (flipping the direction from moving below to above if needed, as symmetry holds), we can repeat this to form our $110\times 110$ grid, such that we can pair up squares that are exactly 15 squares away. Thus, we're done, as we can have at most 1 of these squares per pair.
04.04.2021 16:53
But, the chess king can move diagonally. and solution above considers that the chess king not is Knight.
04.04.2021 19:49
Full disclaimer: I read "king" as knight! My eyes don't work.