Zadanie
W tym wyzwaniu Twoim zadaniem jest napisanie trzech programów, które tworzą rodzaj systemu podobnego do quine. Nazwijmy programy A
, B
a C
. Jeżeli jeden z programów podaje jako źródło źródło innego programu, wysyła źródło trzeciego programu. Na przykład, jeśli A
podano B
jako dane wejściowe, generuje dane wyjściowe C
. Jeśli programy zostały podane jako własne źródło wejścia, są one zobowiązane do wyjścia trzy struny "three"
, "mutual"
i "quines"
(bez cudzysłowów). We wszystkich przypadkach mogą wyświetlać jeden dodatkowy znak nowej linii. W przypadku innych danych wejściowych programy mogą robić wszystko, w tym awarię.
Przykład
Na przykład załóżmy, że kody źródłowe A
, B
i C
to aSdf
, ghJk
i zxcV
. Następnie programy powinny zachowywać się w następujący sposób.
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
Zasady i punktacja
Rozwiązania A
, B
i C
mogą być zarówno funkcje lub pełne programy, ale muszą one być całkowicie niezależny: nie wspólny kod jest dozwolony.
Obowiązują standardowe luki i reguły quine , więc programy nie mogą uzyskać dostępu do własnych kodów źródłowych w żaden sposób.
Twój wynik to łączna liczba bajtów A
, B
a im C
niższy wynik, tym lepiej.
public static void main
gdzieś ma swoją część). A może po prostu nie możesz napisać funkcji wywoływanej przez wszystkie trzy?