El teorema de los cuatro colores establece que no se requieren más de cuatro colores para colorear las regiones de un mapa.
El reto
Dada una lista de fronteras estatales, asigne un color a cada ID de estado para que no haya dos estados adyacentes que tengan el mismo color. El resultado debe ser una hoja de estilo CSS que asigne el color al código de identificación de 2 letras del estado. Aquí hay un mapa SVG al que se podría aplicar la hoja de estilo. http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg
Las normas
- El código más corto gana
- se puede usar cualquier lista de fronteras estatales
- solo se pueden usar 4 colores.
- la lista de estados se puede codificar
Consejo: use la fill:
propiedad CSS para cambiar el color, por ejemplo#AL{fill:green}
Aquí hay una lista de fronteras estatales
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
fuente
fuente
Respuestas:
Python, 320 caracteres
Utiliza un algoritmo aleatorio. Asigne colores a los estados en orden aleatorio seleccionando un color que no entre en conflicto con los estados adyacentes que ya han sido coloreados. Parece funcionar en una décima de segundo más o menos en la entrada dada.
Salida de ejemplo:
Ejemplo pegado en svg .
fuente
tan
aparentemente es un color SVG compatible. Es una pena que solo puedas obtener uno de tres colores con el::4
truco.Prolog,
309307283 caracteresEl algoritmo utiliza la búsqueda de retroceso / profundidad primero para completar el mapa.
Un poco más legible:
Invocación:
Resultado (no se necesitan nuevas líneas):
Pegado en un SVG: http://jsbin.com/toniseqaqi/
fuente
JavaScript (ES6) 269
279Búsqueda recursiva con retroceso. ~ 80 bytes gastados para el análisis de la lista de estados.
Sin golf
Prueba en la consola FireFox / FireBug
Salida
fuente