Entrada:
Input é uma matriz aleatória de nozes (no seu idioma), as seguintes nozes possíveis. Seu programa deve ter uma maneira de representar cada tipo de porca, como um código inteiro. O programa deve ser capaz de lidar com qualquer matriz de tamanho de qualquer configuração de porcas.
Porcas possíveis:
Kola nut
Macadamia
Mamoncillo
Maya nut
Mongongo
Oak acorns
Ogbono nut
Paradise nut
Pili nut
Pistachio
Walnut
Resultado:
A saída deve ser a matriz classificada de tal maneira que não haja porcas adjacentes do mesmo tipo. Se isso for impossível, a saída deve ser uma matriz vazia.
Exemplo de entrada (simplificado):
["walnut", "walnut", "pistachio"]
Saída de exemplo:
["walnut", "pistachio", "walnut"]
As soluções não podem simplesmente embaralhar a matriz até que ela se torne única por acaso. O tipo empregado deve ser determinístico
perl6 -e 'my @a="aaaaabbbbccccdddee".comb;my @b = @a.pick(*) while @b.squish !== @a;say [~] @b'
baedcbdacdecbabaca
(3,3,2) também podem causar falhas.