To wyzwanie jest inspirowane tą aplikacją .
To znacznie łatwiejsza wersja tego wyzwania . To wyzwanie polega na kodowaniu , podczas gdy drugie to najszybsze .
Otrzymasz kwadratową siatkę wejściową o wymiarach 6 na 6, która jest podzielona na 6 obszarów, w których komórki każdego obszaru mają unikalny identyfikator ( w tekście użyję małych liter zf , ale możesz wybrać, co chcesz, na przykład liczby całkowite 1-6 ).
Dane wejściowe mogą wyglądać następująco (opcjonalny format wejściowy):
aabbbb
aabbbb
aaccbb
acccdb
ecccdb
eeefff
Lub łatwiejsze do wizualizacji:
Wyzwanie:
Musisz umieścić 6 drzew w tym parku, zgodnie z następującymi zasadami:
- Będzie dokładnie 1 drzewo na kolumnę i 1 drzewo na rząd
- Wszystkie obszary powinny mieć dokładnie 1 drzewo.
- Żadne drzewa nie mogą przylegać do innego drzewa, pionowo, poziomo ani po przekątnej
Rozwiązaniem powyższego układu jest:
Uwaga: dla każdej układanki jest tylko jedno rozwiązanie
Dodatkowe zasady:
- Formaty wejściowe i wyjściowe są opcjonalne
- Wyjściem może być na przykład lista indeksów, siatka z 1/0 wskazującą, czy w tej pozycji znajduje się drzewo, lub zmodyfikowana wersja danych wejściowych, w których drzewa są wskazane
- Czas wykonania musi być deterministyczny
- Program musi zakończyć się w ciągu 1 minuty na rozsądnym nowoczesnym laptopie
- Punkty Brownie, jeśli nie użyjecie siły!
Przypadki testowe:
aabbbb
aabbbb
aaccbb
acccdb
ecccdb
eeefff
---
aAbbbb
aabbbB
aaCcbb
acccDb
Ecccdb
eeeFff
----------
aabccc
aacccc
aaddce
aeeeee
aeeefe
eeeeee
---
aaBccc
aacccC
aadDce
Aeeeee
aeeeFe
eEeeee
----------
aaaabb
aacbbb
aadddb
addeef
ddddee
dddeee
---
aaaaBb
aaCbbb
Aadddb
addeeF
dDddee
dddEee
----------
abbbcd
abebcd
addddd
dddddd
effdff
eeffff
---
abBbcd
abebCd
Addddd
dddDdd
effdfF
eEffff
Te same przypadki testowe w formacie, który jest nieco łatwiejszy do analizy:
Test case 1:
[1,1,2,2,2,2;1,1,2,2,2,2;1,1,3,3,2,2;1,3,3,3,4,2;5,3,3,3,4,2;5,5,5,6,6,6]
Test case 2:
[1,1,2,3,3,3;1,1,3,3,3,3;1,1,4,4,3,5;1,5,5,5,5,5;1,5,5,5,6,5;5,5,5,5,5,5]
Test case 3:
[1,1,1,1,2,2;1,1,3,2,2,2;1,1,4,4,4,2;1,4,4,5,5,6;4,4,4,4,5,5;4,4,4,5,5,5]
Test case 4:
[1,2,2,2,3,4;1,2,5,2,3,4;1,4,4,4,4,4;4,4,4,4,4,4;5,6,6,4,6,6;5,5,6,6,6,6]