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)
}
}