La tarea
En este desafío, su tarea es escribir tres programas que formen una especie de sistema mutuo tipo quine. Llamemos a los programas A
, B
y C
. Si uno de los programas recibe la fuente de otro programa como entrada, dará salida a la fuente del tercer programa. Por ejemplo, si A
se da B
como entrada, sale C
. Si los programas se les da su propia fuente como entrada, se presentará a la salida de las tres cuerdas "three"
, "mutual"
y "quines"
(sin comillas). En todos los casos, pueden generar una nueva línea final adicional. Para cualquier otra entrada, los programas pueden hacer cualquier cosa, incluido el bloqueo.
Ejemplo
Por ejemplo, suponga que los códigos fuente de A
, B
y C
son aSdf
, ghJk
y zxcV
. Entonces los programas deberían comportarse de la siguiente manera.
Source Input Output
--------------------
aSdf aSdf three
aSdf ghJk zxcV
aSdf zxcV ghJk
ghJk aSdf zxcV
ghJk ghJk mutual
ghJk zxcV aSdf
zxcV aSdf ghJk
zxcV ghJk aSdf
zxcV zxcV quines
Reglas y puntaje
Las soluciones A
, B
y C
pueden ser funciones o programas completos, pero deben ser completamente independientes: no se permite código compartido.
Se aplican las lagunas estándar y las reglas de quine , por lo que los programas no pueden acceder a sus propios códigos fuente de ninguna manera.
Su puntaje es el recuento combinado de bytes de A
, B
y C
, menor puntaje es mejor.
public static void main
parte en alguna parte). ¿O simplemente que no puede escribir una función llamada por los tres?