Le théorème des quatre couleurs indique qu'il ne faut pas plus de quatre couleurs pour colorer les régions d'une carte.
Le défi
Étant donné une liste de frontières d'État, attribuez à chaque ID d'état une couleur de sorte qu'il n'y ait pas deux États adjacents de la même couleur. La sortie doit être une feuille de style CSS attribuant la couleur au code d'identification à 2 lettres de l'état. Voici une carte SVG à laquelle la feuille de style pourrait être appliquée. http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg
Les règles
- Victoires de code les plus courtes
- n'importe quelle liste de frontières d'État peut être utilisée
- seules 4 couleurs peuvent être utilisées.
- la liste des états peut être codée en dur
Conseil: utilisez la fill:
propriété CSS pour changer la couleur, par exemple#AL{fill:green}
Voici une liste des frontières des États
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
la source
la source
Réponses:
Python, 320 caractères
Utilise un algorithme randomisé. Attribuez des couleurs aux états dans un ordre aléatoire en sélectionnant une couleur qui n'entre pas en conflit avec les états adjacents qui ont déjà été colorés. Semble fonctionner dans un dixième de seconde environ sur l'entrée donnée.
Exemple de sortie:
Exemple collé dans svg .
la source
tan
est apparemment une couleur SVG prise en charge. Dommage que vous ne puissiez en obtenir qu'un seul en trois couleurs::4
.Prolog,
309307283 caractèresL'algorithme utilise le retour en arrière / la recherche en profondeur d'abord pour remplir la carte.
Un peu plus lisible:
Invocation:
Résultat (les nouvelles lignes ne sont pas nécessaires):
Collé dans un SVG: http://jsbin.com/toniseqaqi/
la source
JavaScript (ES6) 269
279Recherche récursive avec retour en arrière. ~ 80 octets dépensés pour l'analyse de la liste des états.
Non golfé
Test dans la console FireFox / FireBug
Production
la source