Ants

Description

We designed this problem so that it's easy to create inputs and to check an output on our side, but it's hard on the teams' side.

To solve the simpler inputs (first six), one only needs to move soil units to the depos. Our simple solver could only solve these inputs by looking for local maximums and assigning the maximum to some ant which took a soil unit from there to a nearby depo. To avoid deadlocks when many ants try to move across each other, we simply introduced some random steps occasionally.

Even this simple approach requires a fair amount of code due to many corner cases. Needless to say a good solution (which optimizes for small number of steps) would be much harder to find.

For harder inputs we imagined that ants should either build up stairs to reach areas which are too high or dig downwards at appropriate places to connect two areas.

Noone could solve 9.in during the contest, the other inputs were solved.

Most of the additional inputs for the ant bonus problem looked trivial to solve :)

Solving 4.in (ants are blue, depos are yellow) and showing 6.in and 9.in (ants are red..yellow based on height, depos are blue):

ants 4.in in projector

ants 6.in in animator ants 9.in in animator