O teorema das quatro cores declara que não são necessárias mais de quatro cores para colorir as regiões de um mapa.
O desafio
Dada uma lista de fronteiras do estado, atribua uma cor a cada ID de estado para que dois estados adjacentes não tenham a mesma cor. A saída deve ser uma folha de estilo CSS atribuindo a cor ao código de identificação de duas letras do estado. Aqui está um mapa SVG ao qual a folha de estilo pode ser aplicada. http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg
As regras
- O código mais curto vence
- qualquer lista de fronteira do estado pode ser usada
- apenas 4 cores podem ser usadas.
- a lista de estados pode ser codificada
Conselho: Use a fill:
propriedade CSS para alterar a cor, por exemplo#AL{fill:green}
Aqui está uma lista de fronteiras estaduais
AL-FL
AL-GA
AL-MS
AL-TN
AR-LA
AR-MO
AR-MS
AR-OK
AR-TN
AR-TX
AZ-CA
AZ-CO
AZ-NM
AZ-NV
AZ-UT
CA-NV
CA-OR
CO-KS
CO-NE
CO-NM
CO-OK
CO-UT
CO-WY
CT-MA
CT-NY
CT-RI
DC-MD
DC-VA
DE-MD
DE-NJ
DE-PA
FL-GA
GA-NC
GA-SC
GA-TN
IA-MN
IA-MO
IA-NE
IA-SD
IA-WI
ID-MT
ID-NV
ID-OR
ID-UT
ID-WA
ID-WY
IL-IA
IL-IN
IL-KY
IL-MO
IL-WI
IN-KY
IN-MI
IN-OH
KS-MO
KS-NE
KS-OK
KY-MO
KY-OH
KY-TN
KY-VA
KY-WV
LA-MS
LA-TX
MA-NH
MA-NY
MA-RI
MA-VT
MD-PA
MD-VA
MD-WV
ME-NH
MI-OH
MI-WI
MN-ND
MN-SD
MN-WI
MO-NE
MO-OK
MO-TN
MS-TN
MT-ND
MT-SD
MT-WY
NC-SC
NC-TN
NC-VA
ND-SD
NE-SD
NE-WY
NH-VT
NJ-NY
NJ-PA
NM-OK
NM-TX
NM-UT
NV-OR
NV-UT
NY-PA
NY-VT
OH-PA
OH-WV
OK-TX
OR-WA
PA-WV
SD-WY
TN-VA
UT-WY
VA-WV
code-golf
graph-theory
kyle k
fonte
fonte
Respostas:
Python, 320 caracteres
Usa um algoritmo aleatório. Atribua cores a estados em ordem aleatória, selecionando uma cor que não entre em conflito com estados adjacentes que já foram coloridos. Parece funcionar em um décimo de segundo ou mais na entrada fornecida.
Exemplo de saída:
Exemplo colado em svg .
fonte
tan
aparentemente é uma cor SVG suportada. Pena que você só pode obter um de três cores com o::4
truque.Prolog,
309307283 caracteresO algoritmo usa pesquisa de retorno / busca profunda para preencher o mapa.
Um pouco mais legível:
Invocação:
Resultado (novas linhas não são necessárias):
Colado em um SVG: http://jsbin.com/toniseqaqi/
fonte
JavaScript (ES6) 269
279Pesquisa recursiva com retorno. ~ 80 bytes gastos na análise da lista de estados.
Ungolfed
Teste no console do FireFox / FireBug
Resultado
fonte