Cel
Posortuj listę elementów, upewniając się, że każdy element jest wymieniony po określonych zależnościach.
Wejście
Tablica tablic liczb całkowitych, gdzie każda liczba całkowita określa indeks innego elementu na podstawie 0 lub 1, po którym ten element musi nastąpić. Dane wejściowe mogą być tablicą lub ciągiem znaków lub czymkolwiek innym, możliwym do odczytania przez człowieka.
Na przykład wejście oparte na 0:
[
[ 2 ], // item 0 comes after item 2
[ 0, 3 ], // item 1 comes after item 0 and 3
[ ], // item 2 comes anywhere
[ 2 ] // item 3 comes after item 2
]
Załóżmy, że nie ma zależności cyklicznych, zawsze istnieje co najmniej jedno prawidłowe zamówienie.
Wynik
Liczby w kolejności zależności. Dwuznaczny porządek nie musi być deterministyczny. Wynik może być tablicą, tekstem lub czymkolwiek innym, czytelnym dla człowieka.
Dane wyjściowe powinny zawierać tylko jedno zamówienie, nawet jeśli istnieje wiele prawidłowych zamówień.
Możliwe wyniki dla powyższego wejścia obejmują:
[ 2, 3, 0, 1 ]
[ 2, 0, 3, 1 ]
Punktacja
Funkcja lub program, który wypełni to w najmniejszej liczbie bajtów, wygrywa chwałę akceptacji. Termin upływa za 6 dni.