Esto es mucho más avanzado que Cómo aleatorizar letras en una palabra y la Transposición de Cambridge debido a la regla sobre qué letras pueden intercambiarse con cuáles. Una expresión regular simple no será suficiente aquí.
Es bien sabido que todavía se puede leer un texto mientras se mezclan las entrañas de sus palabras, siempre que sus primeras y últimas letras más sus contornos generales permanezcan constantes. Dado un texto imprimible Ascii + Newline, codifique cada palabra de acuerdo con estas reglas:
La codificación debe ser (pseudo) aleatoria.
Una palabra es una secuencia de los caracteres latinos, de la A a la Z.
Solo las letras iniciales serán mayúsculas.
La primera y la última letra deben permanecer intactas.
Al codificar, solo las letras dentro de uno de los siguientes grupos pueden intercambiar lugares:
acemnorsuvwxz
bdfhkl
gpqy
it
j
(permanece en su lugar)
Ejemplo
Srcmable wrods mientras psrrnveieg su oeiltnus
Es bien sabido que todavía se puede leer un txet mientras los inrands de sus wrods se han movido, siempre y cuando su primer y últimas letras más sus ovaerll ontliues raemin no puedan. Dado un patnirlbe Acsii + Nwnliee txet, samrclbe ecah word anoccdirg a estos relus:
Smncrbliag debe ser (pusedo) rondam.
Un wrod es una secuencia de los chreratacs latinos, A thurogh Z.
Solo los comités iniciales serán respetados.
Las letras fisrt y lsat deben permanecer uctoenhud.
Cuando se detalla, solo las letras con uno de los guorps de Fwllnoiog pueden intercambiar plaecs:
aneusvrowxmcz
bhkfdl
gqpy
it
j
(se queda en plcae)Emxaple
t
del grupo 2? O tal vez poner t
en un grupo 4 con i
?
printable
/ patnirlbe
no es del todo legible. Creo que el i
/ t
swap es el culpable. Hmm ... paintrlbe
No, eso tampoco ayudó. Probablemente sea el pr
/ pa
swap, entonces. El esquema se mantiene, pero creo que leí "pr" y "pa" como semánticamente (?) 1 letra. prtnialbe
Ah, sí. Eso lo hizo. Sin embargo, no estoy seguro de poder ofrecer una solución al algoritmo.
t
se supone que es más corto queh
aunque muchas personas no lo escriben así.