Yes, obviously you could give the program the goal of "Stack blocks in order A:B:C" but that's not the point of the conundrum here.
Imagine they are 30 different goals all of which need to be aligned in slightly odd ways to achieve the ultimate task. You're having to prioritize pieces in non-linear fashion to slowly build up the base as you're solving individual steps that seem entirely tangential to the overarching goal. You might have to take 4 or 5 steps back sometimes to achieve 1 step forward.
That's the problem here. It's not this simple 3 block solution: that's only used to get you to wrap your head around the simplest possible complexity.