Задание
В этой задаче ваша задача состоит в том, чтобы написать три программы, которые образуют своего рода взаимную квиноподобную систему. Давайте называть программы A
, B
и C
. Если одна из программ получает источник другой программы в качестве входных данных, она должна выводить источник третьей программы. Например, если A
задано B
как вход, оно выводит C
. Если программы дают свой собственный источник в качестве входных данных, то они должны выводить три строки "three"
, "mutual"
и "quines"
(без кавычек). Во всех случаях они могут вывести один дополнительный завершающий символ новой строки. Для любых других входных данных программы могут делать что угодно, включая сбой.
пример
Например, предположим, что исходные коды A
, B
и C
есть aSdf
, ghJk
и zxcV
. Тогда программы должны вести себя следующим образом.
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
Правила и оценки
Решения A
, B
и C
могут быть либо функции или полные программы, но они должны быть полностью независимыми: не общий код не допускается.
Применяются стандартные лазейки и правила quine , поэтому программы никак не могут получить доступ к своим исходным кодам.
Ваша оценка - это общее количество байтов A
, B
и чем C
меньше оценка, тем лучше.
public static void main
где-то имеют какую- то часть.) Или просто то, что вы не можете написать функцию, которая вызывается всеми тремя?