Um baralhamento riffle é uma maneira de baralhar cartas, onde o baralho é dividido em duas seções aproximadamente iguais e as seções são divididas entre si em pequenos grupos. É assim que você embaralha uma seqüência aleatória:
- Divida a sequência em seções iguais.
- Inverta as strings e inicie do início de cada string.
- Coloque execuções de um comprimento uniformemente aleatório entre 1 e o número de caracteres restantes na cadeia atual na cadeia final
- Em seguida, remova esses caracteres da string.
- Repita o procedimento para a outra metade, até que as duas metades estejam vazias.
Um exemplo
"Hello World!" Output string = ""
"Hello ", "World!" ""
"Hell", "World!" " o"
"Hell", "World" " o!"
"Hel", "World" " o!l"
"Hel", "Wo" " o!ldlr"
"H", "Wo" " o!ldlrle"
"H", "" " o!ldlrleoW"
"", "" " o!ldlrleoWH"
O produto final de Hello World!
poderia ser o!ldlrleoWH
e é isso que você produziria.
Policiais
Sua tarefa é criar um programa (ou função) que reproduza aleatoriamente uma sequência aleatória. Se a string inserida tiver um comprimento ímpar, apenas divida-a em duas cadeias de comprimento irregular com um comprimento relativo de +1
e +0
( abc => [ab, c] or [a, bc]
). Você pode receber entrada da maneira normal e produzir saída da maneira normal.
Seu envio de policiais consistirá em 4 itens
- O idioma que você usou
- O comprimento do seu programa em bytes
- Seu programa, riffle embaralhado.
- Qualquer outra coisa que você queira adicionar
Seu objetivo é impedir que seu código seja decifrado pelos ladrões por 7 dias. Após esse período, seu programa está seguro e você deve editar no seu programa original. Seu envio ainda pode estar quebrado até você revelar sua solução. A solução mais curta e segura será a vencedora!