Dados los 95 caracteres imprimibles en ASCII más nueva línea, sepárelos en dos grupos iguales de 48 caracteres (en adelante, el grupo A y el grupo B). Cree un mapeo uno a uno de su elección (tiene total discreción) entre los dos grupos. En otras palabras, A
podría mapear a
y viceversa, pero A
también podría mapear >
y viceversa, si eso es lo que necesita para su programa.
Una vez que haya dividido ASCII en dos grupos, escriba dos programas y / o funciones, utilizando solo los caracteres de cada grupo, respectivamente. En otras palabras, escriba un programa / función que solo use los caracteres del grupo A, y otro programa / función que solo use los caracteres del grupo B.
Estos programas deben poder recibir un carácter como entrada. El programa escrito con los caracteres del Grupo A debería generar / devolver el mismo carácter si la entrada era un carácter del grupo A, y el carácter del grupo A asignado si recibió un carácter del grupo B; el programa del Grupo A siempre debe generar un carácter del grupo A. De manera similar, el programa del Grupo B debería generar el mismo carácter si es un carácter del grupo B, y el carácter del grupo B mapeado si la entrada es un carácter del grupo A.
Puede que no sea tan claro, así que aquí hay un ejemplo. Si asume que todas las letras mayúsculas están en el grupo A, y todas las letras minúsculas están en el grupo B, y ha elegido que su mapeo uno a uno para estas letras sea de una a la otra, entonces: entonces aquí hay algunas entradas / salidas de muestra:
Programa A
Input Output
A A
D D
a A
q Q
Programa B:
Input Output
A a
D d
a a
q q
Otras reglas:
- Los dos programas no necesitan estar en el mismo idioma.
- No necesitan ser ambos programas o ambas funciones; uno podría ser un programa, el otro una función, eso está bien.
- No necesitan trabajar de la misma manera, tener una longitud similar, nada de eso; simplemente deben cumplir con las otras reglas anteriores.
- Sí, solo uno de sus programas puede usar nuevas líneas, y solo uno puede usar espacios (esto podría ser el mismo o un programa diferente).
- No necesita utilizar los 48 caracteres en cada programa.
Las lagunas estándar están prohibidas, como es normal. Todos los programas deben ser independientes, sin archivos que contengan la asignación que elija.
Criterios de puntuación: código-golf . Específicamente, la suma de los bytes del texto de los dos programas.
Por favor, publique su respuesta de esta manera:
Idioma - # bytes + Idioma - # bytes = # bytes
Una descripción inequívoca de su mapeo. Si es complicado, use un cuadro como este:
ABCDEFGHIJKLMNOPQRSTUVWXYZ (etc.) zyxwvutsrpqonmlkjihgfedcba (etc.)
O bien, puede explicarlo (los primeros 48 mapas a los últimos 48 en secuencia), seguido de su respuesta de manera normal.
+
y >
, y el otro usando -
y <
. Luego debe intentar generar los operadores que faltan, como a ,
o .
en el programa que no puede usarlos.