Solução por Lúcio Figueiredo
Conhecimento prévio necessário:
Perceba que não existem permutações bonitas para e . Para , a permutação é uma resposta válida.
Para todo , existe uma permutação válida com elementos. Para demonstrar isso, basta utilizar a seguinte construção:
- Inicialmente, inisira o valor como primeiro elemento da permutação.
- Em seguida, insira todos os números pares maiores que e menores ou iguais a .
- Por fim, insira em seguida os números ímpares menores ou iguais a .
É fácil ver que a construção acima gera uma permutação bonita, já que não há nenhum par de elementos consecutivos com diferença igual a .
Portanto, basta imprimir as três sequências indicadas acima utilizando um loop for. A complexidade final é . Confira o código abaixo para melhor entendimento: