Um algoritmo de exemplo
adicionar um ponto à fila (x0,y0)
lembre-se da cor do ponto de partida
até que a fila esteja vazia
  {
  pegue um ponto (x,y) da fila
  se A[y][x] = cor do ponto inicial então
    {
    A[y][x] = 2;
    adicionar um ponto à fila (x-1,y)
    adicionar um ponto à fila (x+1,y)
    adicionar um ponto à fila (x,y-1)
    adicionar um ponto à fila (x,y+1)
    }
  }