Wejście:
Dane wejściowe to losowa tablica orzechów (w twoim języku), możliwe orzechy poniżej. Twój program musi mieć sposób reprezentowania każdego rodzaju nakrętki, na przykład kodu liczby całkowitej. Program musi być w stanie obsłużyć dowolną tablicę rozmiarów dowolnej konfiguracji nakrętek.
Możliwe orzechy:
Kola nut
Macadamia
Mamoncillo
Maya nut
Mongongo
Oak acorns
Ogbono nut
Paradise nut
Pili nut
Pistachio
Walnut
Wynik:
Wyjściem musi być tablica posortowana w taki sposób, aby nie było sąsiadujących nakrętek tego samego rodzaju. Jeśli jest to niemożliwe, wyjściem powinna być pusta tablica.
Przykładowe dane wejściowe (uproszczone):
["walnut", "walnut", "pistachio"]
Przykładowe dane wyjściowe:
["walnut", "pistachio", "walnut"]
Rozwiązania nie mogą po prostu przetasować tablicy, dopóki nie stanie się ona przypadkowa. Zastosowany rodzaj musi być deterministyczny
perl6 -e 'my @a="aaaaabbbbccccdddee".comb;my @b = @a.pick(*) while @b.squish !== @a;say [~] @b'
baedcbdacdecbabaca
(3,3,2) może również powodować ich awarię.