IOI '97 - Cape Town, South Africa
"iShongololo" is the Zulu name for a millipede. They are long, shiny, black arthropods with many legs.
The iShongololo eats through an edible "fruit" which for the sake of this problem can be considered a rectangular solid with integer dimensions of ~L~ (length), ~W~ (width) and ~H~ (height).
You are required to write a program that maximizes the number of blocks eaten by the iShongololo without violating the constraints given. The program must output the actions that the iShongololo makes as it eats its way through the fruit.
The iShongololo starts outside the fruit. The first block the iShongololo must eat is ~1, 1, 1~ and it must then move to this block. It stops when no more blocks can be legally eaten and it can no longer move.
- The iShongololo occupies exactly one empty block.
- The iShongololo can only eat one complete block at a time.
- The iShongololo cannot move to a position where it has previously moved to (that is, move backwards or cross its path).
- The iShongololo cannot move to a solid (uneaten) block, or outside the fruit.
- The iShongololo may only move to or eat blocks with whom it shares a face. It may only eat blocks which have no other faces exposed to empty eaten blocks.
As input your program will receive three numbers (integers) which are the length ~(L)~, width ~(W)~ and height ~(H)~ of the solid.
The three integers ~L~, ~W~, ~H~, are each on a separate line. The three integers will be between ~1~ and ~32~ (inclusive).
The output consists of lines that begin with
E (eat) or
followed by ~3~ integers that represent the block eaten or moved to on the
axes corresponding to ~L~, ~W~, ~H~.
- If the iShongololo violates the constraints, then your solution receives ~0~ points.
- The total score is the percentage of blocks eaten as a proportion to an excellent solution of the IOI organisers, rounded to the nearest integer percent.
- A solution cannot score more than ~100\%~.