작업
이 도전에서, 당신의 임무는 일종의 상호 quine-like 시스템을 형성하는 세 개의 프로그램을 작성하는 것입니다. 하자가 프로그램을 호출 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기능 또는 전체 프로그램 중 하나가 될 수 있지만 완전히 독립적이어야 에는 공유 코드는 허용되지 않습니다.
표준 허점 및 퀴니 규칙이 적용되므로 프로그램은 어떤 방식 으로든 자체 소스 코드에 액세스 할 수 없습니다.
당신의 점수는의 결합 된 바이트 수입니다 A, B그리고 C낮은 점수는 더 나은 것.
public static void main어딘가에 있기 때문에 Java로 응답하기가 어려울 것 입니다.) 아니면 세 가지 모두에 의해 호출되는 함수를 작성할 수 없다는 것입니까?