These kind of collective challenges seem to me the best way to learn programming. If I had the time/money, I'd love to find a way to monetize a website dedicated to competitive challenges like this. I'm surprised TopCoder doesn't sponsor them.
About the problem itself, it seems solvable in a way that a good algorithm will never lose. Or am I off in my intuition?
Deleted, my assumption about an m-by-n board with opponents starting in opposite squares was wrong [0]. Apparently, there will be arbitrary maps with what looks like mirrored (not random) starting positions. My intuition would then be to generate dynamic strategies which attempt to box the opponent. But that seems easier said than done :)
About the problem itself, it seems solvable in a way that a good algorithm will never lose. Or am I off in my intuition?