Wyzwanie
Rozważ siatkę króla 3x3, jak pokazano na poniższej grafice ASCII:
A--B--C
|\/|\/|
|/\|/\|
D--E--F
|\/|\/|
|/\|/\|
G--H--I
Otrzymujesz jako dane wejściowe listę liczb całkowitych o długości 9, które reprezentują etykietowanie węzłów. Na przykład dane wejściowe [0,1,1,2,1,0,5,5,1]
reprezentują następujące etykietowanie:
0--1--1
|\/|\/|
|/\|/\|
2--1--0
|\/|\/|
|/\|/\|
5--5--1
Twój wynik jest zbiorem liczb całkowitych na wejściu, które tworzą połączone zestawy węzłów. Mówiąc dokładniej, wynik powinien zawierać liczbę całkowitą n
z wejścia, tylko wtedy, gdy zestaw węzłów z etykietą n
jest podłączony. W tym przykładzie akceptowalne wyjście byłoby [1,2,5]
, ponieważ dwa 0
s nie są połączone. Wygrywa najniższa liczba bajtów.
Szczegółowe zasady
- Możesz wybrać ustaloną kolejność dla węzłów na liście danych wejściowych, co należy podać w odpowiedzi. W zamówieniu EFBDHCAGI powyższe oznakowanie będzie podane jako
[1,0,1,2,5,1,0,5,1]
. - Możesz napisać pełny program lub funkcję. W tym drugim przypadku wynikiem może być zestaw liczb całkowitych, jeśli Twój język je obsługuje.
- Lista wyjściowa może zawierać duplikaty, ale jej długość nie może przekraczać 9.
- Standardowe luki są niedozwolone.
Przypadki testowe
Mają one jednocyfrowe liczby wyrównane do siatki; dostosuj je do wybranego zamówienia.
011
210 => 1 2 5
551
010
202 => 0 2
221
110
123 => 0 2 3
221
111
111 => 1
111
111
141 => 1 4
111
źródło
CJam,
5667 bajtówZamówienie:
CIGABFHDE
.Przykładowe dane wejściowe:
Wynik:
Najpierw usuwa cyfry w rogach, które są takie same jak połączone cyfry po bokach. Następnie usuwa liczby po bokach, które są takie same jak liczby po następnych stronach. Wreszcie usuwa wszystkie liczby występujące dwa lub więcej razy i dodaje numer środkowy.
źródło
CJam, 90 bajtów
Jest to oparte na iteracyjnym Wypełnienie wyjaśnione tutaj i może być grałem dużo!
Wymaga wprowadzenia danych w następującej kolejności
ABCDEFGH
:a dane wyjściowe to połączone węzły:
Krótkie wyjaśnienie
Pełne wyjaśnienie do naśladowania
Wypróbuj online tutaj
źródło