Görev
Bu zorlu görevde, göreviniz bir tür birbirine benzeyen sistem oluşturan üç program yazmaktır. Let programlarını diyoruz A
, B
ve C
. Programlardan birine girdi olarak başka bir programın kaynağı verilirse, üçüncü programın kaynağını çıkarır. Örneğin, girdi olarak A
verilirse 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
, B
ve C
vardır aSdf
, ghJk
ve 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
, B
ve C
iş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
, B
ve C
alt skor daha iyi olmak.
public static void main
yerde 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?