Если есть блоки двух типов (w и 2w) и надо выстроить их по 4 в строку, то можно итерационно заполнять строки до 4, учитывая, что двойной блок плюсует 2.
Если в строке получается больше 4, то ищем из последующих тот, который поможет нам заполнить пробел. Потом маленько магии по смене элементов. Ну и возвращаемся к концу заполненной строки и заполняем следующие аналогичным образом.
К примеру, можно набросать примерно
такую сетку.