If it helps, my thought process went like this:
- Pick up a block. Put it in the box and find a possible position.
- Select the next block. Check if it has any conditions linked to the blocks already placed.
- Place next block. Repeat with the rest of the blocks.
- If a solution can't be found, remove and try placing 1-2 blocks in a different place.
For that last step, I expected to be able to remove one block and check the conditions on the rest of the blocks to find the next possible spot but instead I had to remove ALL the blocks to recheck conditions if I hadn't memorized them first.