Comment from Frank Buß: Looks like his original web page is no longer online, so I've copied my locally saved version here.Mars mission contest
66666220020000000220022002200220022002200220022002000200000000020000111110001333 32222222222220000000002000022222200200222222222222202261000444644240100000462222 22222222222220000000020200000002222222222223333120203131302020200000000020020022 002200220022002200220022002200020000000000
66666220020000000220022002200220022002200220022002200000000000000000000000001110 00000010000000000003333300200200022200020222002020202222222220242000000000000664 00000040000000000662222262220022020020000000002002222222200200000000000322222222 212020202031302020200000000200002200220022002200220022002200220020020000000000Note that the only difference between the two is the cost function on line 280.
I found out about the contest a bit late (guess I don't read slashdot often enough!) but had great fun working on it :-).
It's pretty disgusting c/c++ code, but I was in a hurry, and now I'm going to go to sleep instead of cleaning it up!
Randy Sargent 11/21/2004
No wall-braking allowed (for normal spacecraft, that would be called a collision!). The only interaction with the ground that's allowed is a "safe landing", which means that -1 <= xvel <= 1 and 0 <= yvel <= 2 before collision (and after gravity, thrust added), xvel=yvel=0 after collision, and that after collision both the lower left and lower right corners of the vehicle are above rock (ie if x,y are the upper left, then (x,y+10) and (x+9,y+10) are both rock). Also, a safe landing is required after touching the start area (but not necessarily at the remote target). Combined source
Minimum steps, safe:
66666220020000000220022002200220022002200220022002200000000000000000111110000133 33222222222222000002000200000000222222222222222222060000014444446440400100026222 22222222202022200200000000200022222200222222333330302021332221200020000000020022 0022002200220022002200220022002000000200266666
Minimum fuel, safe:
66666220020000000220022002200220022002200220022002200000000000000000111111000100 00000101322222222222222202000000222002020202222222224200040000020664404440000000 00622222222222222222000000002020000000222222222222333312120203130203020000000002 0020022002200220022002200220022002200200000002066666