มี40 วิธีที่เส้นทาง Hamiltonianกำกับสามารถจัดเรียงบนตาราง 3 × 3 ได้:
กราฟิกนี้ ( ขอบคุณ Sp3000! ) แสดงเฉพาะเส้นทางที่ไม่มีเส้นทาง 20 เส้นทางเท่านั้น ข้ามเส้นสีแต่ละเส้นในทั้งสองทิศทางสำหรับเส้นทาง 40 เส้นทาง
ท้าทาย
ใช้ASCII ที่พิมพ์ได้เท่านั้นเขียนอักขระ 3 × 3 ตารางเช่น:
ABC
DEF
GHI
เมื่อแต่ละเส้นทาง 40 เส้นทางถูกอ่านจากตารางนี้เป็น 40 โปรแกรมบรรทัดเดียว, 9 ตัวอักษรเป้าหมายคือการให้แต่ละโปรแกรมส่งออกจำนวนเต็มที่ไม่ซ้ำกันจาก 1 ถึง 40 การทำเช่นนี้สำหรับเส้นทาง 40 ทั้งหมดดูเหมือนยากและไม่น่าเป็นไปได้ ดังนั้นคุณจะต้องทำให้มันใช้งานได้หลายเส้นทางเท่าที่จะทำได้
การส่งผลงานที่ 40 โปรแกรมเส้นทางส่งออกตัวเลขที่แตกต่างกันมากที่สุดจาก 1 ถึง 40 จะเป็นผู้ชนะ Tiebreaker ไปที่การส่งก่อนหน้า
โปรแกรมพา ธ ที่มีข้อผิดพลาดหรือไม่ส่งออกจำนวนเต็มตั้งแต่ 1 ถึง 40 หรือส่งออกจำนวนเต็มที่โปรแกรมพา ธ อื่นที่ครอบคลุมอยู่แล้วจะไม่ถูกนับ โดยเฉพาะ:
- โปรแกรมที่เกิดข้อผิดพลาดขณะคอมไพล์รันหรือออกจะไม่ถูกนับ คำเตือนก็โอเค
- โปรแกรมที่ไม่ส่งออกจำนวนเต็มตั้งแต่ 1 ถึง 40 หรือแสดงผลสิ่งที่ผิดปกติเล็กน้อยเช่น
-35
หรือ35 36
ไม่นับ - โปรแกรมที่ต้องการให้ผู้ใช้ป้อนข้อมูลเพื่อสร้างผลลัพธ์จะไม่ถูกนับ
- โปรแกรมที่ไม่สิ้นสุดจะไม่ถูกนับรวม
- นับจากนี้โปรแกรมที่ไม่ได้กำหนดค่าจะไม่ถูกนับ
- มิฉะนั้นโปรแกรมที่ถูกต้องที่ส่งออกจำนวนเต็มตั้งแต่ 1 ถึง 40 ว่าโปรแกรมที่ถูกต้องอื่นได้ออกแล้วจะไม่ถูกนับ (โปรแกรมแรกจะถูกนับ)
- เฉพาะโปรแกรมที่แสดงตัวเลขจำนวนเต็มตั้งแต่ 1 ถึง 40 (รวม) จะนับรวมกับผลรวมของคุณ ตัวเลขที่มีการคาดว่าจะอยู่ในปกติ
1
,2
, ... ,39
,40
รูปแบบเว้นแต่ที่ไม่ได้เป็นบรรทัดฐานสำหรับภาษาของคุณ (ขึ้นบรรทัดใหม่ในผลลัพธ์เป็นปกติ) - หมายเลขใดที่โปรแกรมของคุณส่งออกและสิ่งที่อยู่ในลำดับไม่สำคัญ เฉพาะจำนวนเต็มที่แตกต่างจากโปรแกรมที่ถูกต้องเท่านั้น
โปรแกรมพา ธ ทั้งหมดต้องทำงานในภาษาเดียวกัน อย่างไรก็ตามในความเป็นจริง "โปรแกรม" อาจเป็นฟังก์ชั่น (โดยไม่มีข้อโต้แย้งที่จำเป็น) หรือคำสั่งREPLเช่นเดียวกับโปรแกรมเต็มรูปแบบที่พิมพ์หรือส่งกลับจำนวนเต็มเป้าหมายของพวกเขา คุณสามารถผสมผสานและจับคู่ระหว่างฟังก์ชั่นคำสั่ง REPL และโปรแกรมเต็มรูปแบบ
อักขระ ASCII ที่พิมพ์ได้ 9 ตัวของคุณไม่จำเป็นต้องแตกต่างกัน
ตัวอย่าง
ถ้ากริด 3 × 3 ของคุณเป็น
ABC
DEF
GHI
และ 40 โปรแกรมและผลลัพธ์ของคุณเป็นแบบนี้
ABCFEDGHI -> 26
ABCFIHEDG -> 90
ABCFIHGDE -> 2
ABEDGHIFC -> syntax error
ADEBCFIHG -> prints 40 but then errors
ADGHEBCFI -> 6
ADGHIFCBE -> 6
ADGHIFEBC -> 6
CBADEFIHG -> runtime error
CBADGHEFI -> 3
CBADGHIFE -> 4
CFEBADGHI -> -32
CFIHEBADG -> 38.0
CFIHGDABE -> "36"
EDABCFIHG -> 33
EFCBADGHI -> no output
EHGDABCFI -> compilation error
EHIFCBADG -> 8
GDABCFEHI -> 22
GHEDABCFI -> 41
IHGDEFCBA -> 0
GDEHIFCBA -> '9'
EDGHIFCBA -> +10
CFIHGDEBA -> 11
GHIFCBEDA -> error
IFCBEHGDA -> error
EBCFIHGDA -> prints 23 but then loops infinitely
CBEFIHGDA -> randomly prints either 24 or 44
GHIFEDABC -> error
IFEHGDABC -> 30
EFIHGDABC -> 39
IHGDABEFC -> 7
GDABEHIFC -> 29
EBADGHIFC -> -1
GHIFCBADE -> 26
IHGDABCFE -> 1
IFCBADGHE -> error
GDABCFIHE -> no output
IHEFCBADG -> no output
IFCBADEHG -> "quack"
คะแนนของคุณจะเป็น 14 เนื่องจากมีจำนวนเต็ม 14 ที่แตกต่างกัน 1-40 26 2 6 3 4 33 8 22 11 30 39 7 29 1
การส่งออกอย่างถูกต้องคือ
123654789