Görev
Bu zorlu görevde, göreviniz bir tür birbirine benzeyen sistem oluşturan üç program yazmaktır. Let programlarını diyoruz A, Bve C. Programlardan birine girdi olarak başka bir programın kaynağı verilirse, üçüncü programın kaynağını çıkarır. Örneğin, girdi olarak Averilirse B, çıktı verir C. Programlar girdi olarak kendi kaynağını verilirse, bunu yapacaklarını çıkış üç dizeleri "three", "mutual"ve"quines" (tırnaklar olmadan). Her durumda, ek bir son satır yeni satır verebilir. Diğer girişler için, programlar kilitlenme dahil her şeyi yapabilir.
Örnek
Örneğin, bu kaynak kodu varsayalım A, Bve Cvardır aSdf, ghJkve zxcV. O zaman programlar aşağıdaki gibi davranmalıdır.
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
Kurallar ve puanlama
Çözümler A, Bve Cişlevleri veya tam programları da olabilir, ancak bunlar tamamen bağımsız olması gerekir: Hiçbir paylaşılan kod izin verilir.
Standart boşluklar ve quine kuralları uygulanır, böylece programlar kendi kaynak kodlarına hiçbir şekilde erişemez.
Puanınız kombine bayt sayısıdır A, Bve Calt skor daha iyi olmak.
public static void mainyerde bir parçası olduğu için Java’ya cevap vermeyi zorlaştırır .) Ya da sadece üçünün de çağırdığı bir işlevi yazamazsınız?