งาน
ในความท้าทายนี้งานของคุณคือการเขียนโปรแกรมสามโปรแกรมที่ก่อให้เกิดระบบที่คล้ายกันซึ่งกันและกัน ขอเรียกโปรแกรมA
, และB
C
หากโปรแกรมใดโปรแกรมหนึ่งได้รับซอร์สของโปรแกรมอื่นเป็นอินพุตโปรแกรมนั้นจะส่งออกซอร์สของโปรแกรมที่สาม ตัวอย่างเช่นถ้าA
จะได้รับB
เป็น input C
มันจะออกผลลัพธ์ หากโปรแกรมจะได้รับแหล่งที่มาของตัวเองเป็น input เขาจะเอาท์พุทสามสาย"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
บางส่วน) หรือว่าคุณไม่สามารถเขียนฟังก์ชั่นที่เรียกโดยทั้งสามได้