Cololorir Mapas com 4 cores

3 respostas
J

Tenho que desenvolver um programa para colorir mapas, com apenas quatro cores. Pelo o que andei pesquisando tenho que usar listas. Mas mesmo assim ainda estou enrolado no desenvolvimento, alguém poderia me dar uma dica?

3 Respostas

tinorberto

Como assim, vc teria um mapa ai vc vai clicando nele e vai colorindo? flw

B

O seu primeiro problema é decidir como representar os mapas.

O segundo, obviamente, é saber com que cor você deve desenhar cada região, já que você precisa saber se um país faz fronteira com outro ou não.

Para resolver o seu problema, é melhor fazer o seguinte: crie uma lista de países e para cada país você deve enumerar suas fronteiras.
Uma vez feito isso, você pode então resolver o problema de atribuir cores aos países.
Isso talvez você possa achar no seu livro-texto sobre algoritmos.

Vamos dar um exemplo para a América do Sul. Para simplificar seu problema, vou mostrar o arquivo de entrada em formato “properties”.

npaises=13
pais 1=Argentina
pais 2=Bolivia
pais 3=Brasil
....
pais 13=Venezuela
Argentina=Paraguai,Bolivia,Brasil,Uruguai,Chile
Brasil=Venezuela,Guiana,Suriname,Guiana Francesa,Colombia,Bolivia,Peru,Argentina,Paraguai,Uruguai
...
Venezuela=Guiana,Brasil,Colombia
B

O que ocorre é o seguinte: provavelmente você terá de fazer algo parecido com “backtracking” já que você tenta pintar um país de uma determinada cor, e se não for possível (porque um país vizinho ficou com a mesma cor) você tenta outra.
Pode ser que você tenha de “voltar atrás” na pintura de algum país, e tentar uma outra cor para não dar problema depois.

Criado 6 de dezembro de 2009
Ultima resposta 7 de dez. de 2009
Respostas 3
Participantes 3