Ingresso:
L'input è un array randomizzato di noci (nella tua lingua), le possibili noci seguono. Il tuo programma deve avere un modo di rappresentare ogni tipo di dado, come un codice intero. Il programma deve essere in grado di gestire array di qualsiasi dimensione di qualsiasi configurazione di dadi.
Noci possibili:
Kola nut
Macadamia
Mamoncillo
Maya nut
Mongongo
Oak acorns
Ogbono nut
Paradise nut
Pili nut
Pistachio
Walnut
Produzione:
L'output deve essere l'array ordinato in modo tale che non vi siano dadi adiacenti dello stesso tipo. Se ciò è impossibile, l'output dovrebbe essere un array vuoto.
Esempio di input (semplificato):
["walnut", "walnut", "pistachio"]
Esempio di output:
["walnut", "pistachio", "walnut"]
Le soluzioni non possono semplicemente mescolare l'array fino a quando non diventa unico per caso. Il tipo impiegato deve essere deterministico
perl6 -e 'my @a="aaaaabbbbccccdddee".comb;my @b = @a.pick(*) while @b.squish !== @a;say [~] @b'
baedcbdacdecbabaca
(3,3,2) possono anche causare il fallimento.