COCI 2007/2008, Contest #4
A robot and five cubes are placed on an infinite board composed of unit squares. The robot and the cubes occupy one square each.
The robot can be moved in each of four directions: up, down, left and right. If the square the robot would enter contains a cube, then the robot pushes it in the direction of movement.
The cubes possess curious magnetic properties. When two cubes are in neighbouring squares (squares that share a side), they join and become one object. If the robot pushes a cube that is joined with one or more other cubes, all cubes in the group move together.
Write a program that controls the robot so that it joins all cubes into a single group which (when viewed from above) forms the letter T in the upright position (it may not be rotated).
The input consists of five lines. Each line contains two integers X and Y (-5 ≤ X, Y ≤ 5), the starting coordinates of one cube.
The robot is initially in square (0, 0). No cubes will be located at those coordinates.
No pair of cubes will initially be at the same or neighbouring coordinates. More precisely, no cubes will initially share a side (they may share corners).
Output a string of characters representing the robot's moves on a single line. Each character must be one of 'U' (up), 'D' (down), 'L' (left), 'R' (right).
The sequence must be at most 9999 characters long.
0 1 -1 0 1 0 0 -1 0 -3
-2 0 -1 -1 0 -2 1 0 0 1
Point Value: 25
Time Limit: 1.00s
Memory Limit: 32M
Added: Aug 13, 2013
C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3