Contribution:
L'entrée est un tableau aléatoire de noix (dans votre langue), les noix possibles suivent. Votre programme doit avoir un moyen de représenter chaque type d'écrou, tel qu'un code entier. Le programme doit être capable de gérer n'importe quelle taille de tableau de n'importe quelle configuration d'écrous.
Noix possibles:
Kola nut
Macadamia
Mamoncillo
Maya nut
Mongongo
Oak acorns
Ogbono nut
Paradise nut
Pili nut
Pistachio
Walnut
Production:
La sortie doit être le tableau trié de manière à ce qu'il n'y ait pas d'écrous adjacents du même type. Si cela est impossible, la sortie doit être un tableau vide.
Exemple d'entrée (simplifié):
["walnut", "walnut", "pistachio"]
Exemple de sortie:
["walnut", "pistachio", "walnut"]
Les solutions ne peuvent pas simplement mélanger la baie jusqu'à ce qu'elle devienne unique par hasard. Le type utilisé doit être déterministe
perl6 -e 'my @a="aaaaabbbbccccdddee".comb;my @b = @a.pick(*) while @b.squish !== @a;say [~] @b'
baedcbdacdecbabaca
(3,3,2) peut également entraîner leur échec.