Вы можете классифицировать квадраты по количеству соседних свободных квадратов как тип 0, 1, 2, 3 или 4.
Я считаю, что должно работать:
найдите квадрат типа 1, поместите туда домино единственно возможным способом и повторите
еще, найдите свободный угол, образованный двумя смежными квадратами типа 2 и 3, поместите туда домино и перейдите к 1
еще, поместите домино в любой квадрат типа 2 и перейдите к 1
все готово