Wprowadzenie
Nine Mens's Morris (zwany także Mills) to gra planszowa dla dwóch graczy, w którą gra się na następującej planszy (zdjęcie pochodzi z połączonej strony Wikipedii):
Każdy gracz ma 9 mężczyzn w kolorze czarno-białym. Konkretne zasady nie są ważne dla tego wyzwania, ale jeśli jesteś zainteresowany , odwiedź stronę Wikipedii .
Wyzwanie
Biorąc pod uwagę siatkę jako dane wejściowe, która reprezentuje określony stan płyty, wypisz całkowitą liczbę frezów za m
pomocą 0<=m<=8
.
Trzej mężczyźni tego samego koloru tworzą młyn, gdy znajdują się w prostym rzędzie połączonych punktów. b2
aby f2
nie jest młyn, ponieważ ludzie są w innym kolorze. Również d2
do d5
nie tworzą młyn ponieważ trzy punkty muszą być podłączone.
Tablica na powyższym obrazku zawiera na przykład dwa młyny. Jeden od f2
do f6
i jeden od e3
doe5
.
Wkład
Tablica jest reprezentowana jako siatka 2D z 24 punktami, które są połączone, jak pokazano na powyższym przykładzie. W przykładzie użyto liter oda-g
dla kolumn i liczby od 1-7
dla wierszy, ale można wybrać dowolny rozsądny format wejściowy, pod warunkiem, że odwzoruje on 24 unikalne współrzędne do jednego z następujących stanów:
- Pusty
- Podjęte przez czerń
- Podjęte przez biały
Konkretne przedstawienie zależy od ciebie. Nie jesteś ograniczony do „b” lub „w” dla kolorów.
Poza tym Twoje dane wejściowe mogą nie zawierać żadnych dodatkowych informacji.
Dodatkowe uwagi
- Nie musisz mapować punktów według jakichkolwiek wartości. Jeśli chcesz wziąć dane wejściowe jako tablicę 2D, to też dobrze. Należy jednak pamiętać, że nie wszystkie punkty są wykorzystywane i należy wziąć pod uwagę połączenia między nimi.
- Dane wejściowe mogą być puste, w takim przypadku musisz podać zero (pusta tablica -> brak młynów).
- Ponieważ każdy gracz ma 9 mężczyzn, wkład nigdy nie będzie zawierał więcej niż 18 zdobytych punktów.
- Możesz pominąć puste punkty na wejściu, a zatem tylko te, które są zajęte.
- Dane wejściowe można zamówić w dowolny sposób. Nie możesz polegać na konkretnym zamówieniu.
- Możesz założyć, że dane wejściowe zawsze będą prawidłowe. Oznacza to, że nie będzie więcej niż 9 mężczyzn w każdym kolorze i że każdy punkt będzie niepowtarzalny.
Zasady
- Wyjaśnij, jakiego formatu wejściowego używasz w swoim rozwiązaniu. Zaleca się podanie przykładowego przebiegu programu.
- Dozwolona funkcja lub pełny program.
- Domyślne reguły wejścia / wyjścia.
- Obowiązują standardowe luki .
- To jest golf golfowy , więc wygrywa najmniej bajtów. Tiebreaker to wcześniejsze zgłoszenie.
Przypadki testowe
Format wejściowy tutaj to lista krotek ze współrzędnymi jak w powyższym przykładzie jako pierwszym elementem i stanem drugiego elementu punktu. Punkt oznaczony kolorem białym jest oznaczony jako „w”, a punkt oznaczony kolorem czarnym jako „b”. Wszystkie pozostałe punkty są pomijane i są puste.
[(„a4”, „w”), („b2”, „b”), („b4”, „b”), („c4”, „b”), („d1”, „w”) , („d2”, „w”), („e3”, „w”), („e4”, „w”), („e5”, „w”), („f2”, „b”) , („f4”, „b”), („f6”, „b”), („g4”, „w”)] -> 2 [(„a1”, „b”), („a4”, „b”), („a7”, „b”), („b4”, „b”), („c4”, „b”) , („d3”, „w”), („d2”, „w”), („d1”, „w”)] -> 3 [] -> 0 [(„b4”, „b”), („a4”, b ”), („ c4 ”, w”)] -> 0 [(„b4”, „b”), („a4”, b ”), („ c4 ”, b”)] -> 1 [(„a1”, „b”), („a4”, „b”), („a7”, „b”), („b2”, „b”), („b4”, „b”) , („b6”, „b”), („c3”, „b”), („c4”, „b”), („c5”, „b”), („e3”, „w”) , („e4”, „w”), („e5”, „w”), („f2”, „w”), („f4”, „w”), („f6”, „w”) , („g1”, „w”), („g4”, „w”), („g7”, „w”)] -> 8
Happy Coding!
d3
i d5
nie są połączone. Przepisy mówią: Three men of the same color form a mill when they are in a straight row of connected points.
. Dodałem kilka przykładów w tej sekcji, aby to wyjaśnić, dziękuję za komentarz!