Dejo el mio para empezar:
Código:
//inicio
pintarPuntos (pixel p)
crear un arreglo con todos los puntos circundantes (los que lo rodean)
repetir desde x=0 hasta x=longitud del arreglo
si el elemento pixel x del arreglo es del mismo color que el punto inicial
pintar x.
pintarPuntos(formar nuevo arreglo con los puntos circundantes de arreglo(x))
sino
pasar al siguiente punto
//fin
Como es recursivo, creo que comeria un monton, pero me parece que funcionaria correctamente.