Well, thanks a lot, I'll re-read it later (I'm on something else than this contest right now).
Currently my algorithm is quite simple :
First thing : Am I in the same area than my opponent ? If false, I'm gonna ignore his possible moves and then I just maximize the size of the area few moves deep (DFS, I just reuse my minimax in fact) using floodfill.
If i'm not alone, I use MinMax algorithm to find the best move. The evaluation considers the voronoi score and if I'm far from my opponent, the distance from him (A*).
I evaluate the depth using the size of the area, the map and my position (bfs to count the number of leaves).
So my survival mode is only based on a floodfill calculated few steps forward. And most of the time, because the maps are small, it's doing great. If there are less than approximatively 1000 different paths, they are all calculated and compared.
Edit: My algorithm is fooled here :
http://csclub.uwaterloo.ca/contest/visu ... id=3976519 .