Eingang:
Die Eingabe ist eine zufällige Anordnung von Nüssen (in Ihrer Sprache), die möglichen Nüsse folgen. In Ihrem Programm muss jede Art von Mutter dargestellt werden können, z. B. ein ganzzahliger Code. Das Programm muss in der Lage sein, ein Array beliebiger Größe und Konfiguration von Muttern zu verarbeiten.
Mögliche Muttern:
Kola nut
Macadamia
Mamoncillo
Maya nut
Mongongo
Oak acorns
Ogbono nut
Paradise nut
Pili nut
Pistachio
Walnut
Ausgabe:
Die Ausgabe muss so sortiert sein, dass keine benachbarten Muttern der gleichen Art vorhanden sind. Ist dies nicht möglich, sollte die Ausgabe ein leeres Array sein.
Beispieleingabe (vereinfacht):
["walnut", "walnut", "pistachio"]
Beispielausgabe:
["walnut", "pistachio", "walnut"]
Lösungen können das Array nicht einfach mischen, bis es zufällig eindeutig wird. Die Art muss deterministisch sein
perl6 -e 'my @a="aaaaabbbbccccdddee".comb;my @b = @a.pick(*) while @b.squish !== @a;say [~] @b'
baedcbdacdecbabaca
(3,3,2) kann ebenfalls zum Versagen führen.