Twierdzenie o czterech barwach członkowskie, że nie więcej niż cztery kolory są wymagane do koloru regiony mapie.
Wyzwanie
Biorąc pod uwagę listę granic stanu, przypisz każdemu identyfikatorowi stanu kolor, aby żadne dwa sąsiednie stany nie miały tego samego koloru. Wyjściem powinien być arkusz stylów CSS przypisujący kolor dwuliterowemu kodowi identyfikacyjnemu stanu. Oto mapa SVG, do której można zastosować arkusz stylów. http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg
Zasady
- Najkrótszy kod wygrywa
- można użyć dowolnej listy granic stanu
- można użyć tylko 4 kolorów.
- lista stanów może być zakodowana na stałe
Wskazówka: fill:
Na przykład użyj właściwości CSS, aby zmienić kolor#AL{fill:green}
Oto lista granic państwowych
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.
źródło
źródło
Odpowiedzi:
Python, 320 znaków
Wykorzystuje losowy algorytm. Przypisuj kolory do stanów w losowej kolejności, wybierając kolor, który nie powoduje konfliktu z sąsiednimi stanami, które zostały już pokolorowane. Wydaje się działać w ciągu jednej dziesiątej sekundy na danych wejściowych.
Przykładowe dane wyjściowe:
Przykład wklejono do pliku svg .
źródło
tan
jest najwyraźniej obsługiwanym kolorem SVG. Szkoda, że możesz zdobyć tylko jeden trójkolorowy z::4
lewą.Prolog,
309307283 znakówAlgorytm wykorzystuje cofanie się / wyszukiwanie od głębokości do wypełnienia mapy.
Trochę bardziej czytelny:
Wezwanie:
Wynik (nowe linie nie są potrzebne):
Wklejono do pliku SVG: http://jsbin.com/toniseqaqi/
źródło
JavaScript (ES6) 269
279Wyszukiwanie rekurencyjne z cofaniem. ~ 80 bajtów wydanych na parsowanie listy stanów.
Nie golfił
Przetestuj w konsoli FireFox / FireBug
Wynik
źródło