Original concept, runs quite slow though.
Yes, unfortunately the map is not well optimized, as it uses a breadth-first search and too many loops to calculate the growth. A better algorithm would go a long way to improving it. Oh well, next iteration I guess!