Una combinación aleatoria es una forma de barajar cartas donde el mazo se divide en 2 secciones aproximadamente iguales y las secciones se agrupan en pequeños grupos. Así es como se baraja una secuencia aleatoria:
- Divide la cuerda en secciones iguales.
- Invierta las cadenas y comience desde el principio de cada cadena.
- Coloque series de una longitud aleatoria uniforme entre 1 y el número de caracteres que quedan en la cadena actual en la cadena final
- Luego, elimine estos caracteres de la cadena.
- Repita para la otra mitad, hasta que ambas mitades estén vacías.
Un ejemplo
"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"
El producto final de Hello World!
podría ser o!ldlrleoWH
y eso es lo que obtendría.
Policías
Su tarea es hacer un programa (o función) que rifle aleatoriamente una cadena. Si la cadena ingresada es de longitud impar, simplemente divídala en dos cadenas de longitud desigual con una longitud relativa de +1
y +0
( abc => [ab, c] or [a, bc]
). Puede tomar la entrada de la manera normal y producir la salida de la manera normal.
Su presentación de policías consistirá en 4 cosas
- El idioma que usaste
- La longitud de su programa en bytes.
- Su programa, revoltijo barajado.
- Algo más que quieras agregar
Su objetivo es evitar que su código sea descifrado por los ladrones durante 7 días. Después de ese período, su programa está seguro y debe editarlo en su programa original. Su envío aún puede ser descifrado hasta que revele su solución. ¡La solución más corta y segura será la ganadora!