Entrada:
La entrada es una matriz aleatoria de tuercas (en su idioma), siguen las posibles tuercas. Su programa debe tener una forma de representar cada tipo de tuerca, como un código entero. El programa debe ser capaz de manejar cualquier tamaño de matriz de cualquier configuración de tuercas.
Nueces posibles:
Kola nut
Macadamia
Mamoncillo
Maya nut
Mongongo
Oak acorns
Ogbono nut
Paradise nut
Pili nut
Pistachio
Walnut
Salida:
La salida debe ser la matriz ordenada de tal manera que no haya tuercas adyacentes del mismo tipo. Si esto es imposible, la salida debería ser una matriz vacía.
Entrada de ejemplo (simplificada):
["walnut", "walnut", "pistachio"]
Salida de ejemplo:
["walnut", "pistachio", "walnut"]
Las soluciones no pueden simplemente barajar la matriz hasta que se vuelva única por casualidad. El tipo empleado debe ser determinista.
perl6 -e 'my @a="aaaaabbbbccccdddee".comb;my @b = @a.pick(*) while @b.squish !== @a;say [~] @b'
baedcbdacdecbabaca
(3,3,2) también pueden hacer que fallen.