Der Vier-Farben-Satz besagt, dass nicht mehr als vier Farben erforderlich sind, um die Regionen einer Karte einzufärben.
Die Herausforderung
Wenn eine Liste mit Statusgrenzen angegeben ist, weisen Sie jeder Status-ID eine Farbe zu, sodass keine zwei benachbarten Status dieselbe Farbe haben. Die Ausgabe sollte ein CSS-Stylesheet sein, das dem 2-Buchstaben-ID-Code des Staates die Farbe zuweist. Hier ist eine SVG-Karte, auf die das Stylesheet angewendet werden könnte. http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg
Die Regeln
- Kürzester Code gewinnt
- Es kann jede staatliche Grenzliste verwendet werden
- Es können nur 4 Farben verwendet werden.
- Die Statusliste kann fest codiert werden
Hinweis: Verwenden Sie die CSS- fill:
Eigenschaft, um beispielsweise die Farbe zu ändern#AL{fill:green}
Hier ist eine Liste der Staatsgrenzen
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
quelle
quelle
Antworten:
Python, 320 Zeichen
Verwendet einen zufälligen Algorithmus. Ordnen Sie den Status Farben in zufälliger Reihenfolge zu, indem Sie eine Farbe auswählen, die nicht mit benachbarten Status in Konflikt steht, die bereits gefärbt wurden. Scheint, in einer Zehntelsekunde oder so auf dem gegebenen Eingang zu arbeiten.
Beispielausgabe:
Beispiel in Svg eingefügt .
quelle
tan
ist anscheinend eine unterstützte SVG-Farbe. Schade, dass man mit dem::4
Trick nur eine Dreifarbige bekommen kann .Prolog,
309307283 ZeichenDer Algorithmus verwendet die Rückverfolgung / Tiefensuche, um die Karte auszufüllen.
Ein bisschen besser lesbar:
Aufruf:
Ergebnis (Zeilenumbrüche sind nicht erforderlich):
In eine SVG- Datei eingefügt: http://jsbin.com/toniseqaqi/
quelle
JavaScript (ES6) 269
279Rekursive Suche mit Rückverfolgung. ~ 80 Bytes für die Statuslistenanalyse.
Ungolfed
Test in der FireFox / FireBug-Konsole
Ausgabe
quelle