Cololorir Mapas com 4 cores

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?

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

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

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.