Obbiettivo
Ordinare un elenco di elementi assicurando che ogni articolo sia elencato dopo le dipendenze specificate.
Ingresso
Un array di matrici di numeri interi, in cui ogni numero intero specifica l'indice in base 0 o in base 1 di un altro elemento che questo elemento deve seguire. L'input può essere un array o una stringa o qualsiasi altra cosa leggibile dall'uomo.
Ad esempio, un input basato su 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
]
Supponiamo che non ci siano dipendenze circolari, c'è sempre almeno un ordine valido.
Produzione
I numeri in ordine di dipendenza. Un ordine ambiguo non deve essere deterministico. L'output può essere un array o un testo o qualsiasi altra cosa leggibile dall'uomo.
È necessario fornire un solo ordine nell'output, anche in presenza di più ordini validi.
Le possibili uscite per l'ingresso sopra includono:
[ 2, 3, 0, 1 ]
[ 2, 0, 3, 1 ]
punteggio
Una funzione o un programma che completa questo nel minor numero di byte vince la gloria dell'accettazione. La scadenza è tra 6 giorni.