สมมติว่าเรานิยามเมทริกซ์ที่ไม่มีที่สิ้นสุดM
บนN^2 -> {0, 1}
(โดยN
เริ่มจาก1
แทน0
) ในลักษณะนี้:
M(1, 1)
=0
.ทุก ๆ
x > 1
,M(x, 1)
=1
ถ้าx
เป็นสำคัญและ0
เป็นอย่างอื่นทุก
y > 1
,M(1, y)
การ =y
ระยะ THThue-Morse sequence
ในทุก ๆ
x, y > 1
, =M(x, y)
M(x, y-1) + M(x-1, y) mod 2
ส่วนด้านซ้าย16x16
บนของเมทริกซ์นี้ดูเหมือนว่า ( x
เป็นแถวและy
เป็นคอลัมน์):
0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0
1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 1
1 1 0 1 1 1 1 0 0 0 0 1 0 0 1 0
0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1
1 0 1 1 0 0 1 0 1 0 1 1 1 1 0 1
0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1
1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1
0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1
0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 1
0 1 1 0 0 1 0 1 0 1 1 1 1 1 1 0
1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1
0 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1
1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0
0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1
0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1
0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 1
งานของคุณคือการสร้างโปรแกรมที่จะประเมินค่าของรายการโดยพลการในเมทริกซ์นี้อย่างถูกต้องที่สุด
โปรแกรมของคุณจะใช้จำนวนเต็มสองจำนวน x
และy
เป็นข้อมูลในรูปแบบใดที่คุณเลือกและผลตอบแทนM(x, y)
ซึ่งจะเป็นอย่างใดอย่างหนึ่งหรือ0
1
รหัสของคุณอาจถูกเขียนในภาษาใด ๆ แต่ต้องมีขนาดไม่เกิน 64 กิโลไบต์ (65,536 ไบต์) ของรหัสต้นฉบับหรือ 2 MB (2,097,152 ไบต์) ของการใช้หน่วยความจำทั้งหมด โปรแกรมของคุณจะต้องเริ่มต้นด้วยหน่วยความจำว่าง (เช่นไม่สามารถโหลดข้อมูลจากที่อื่น) และทำงานแยกต่างหากสำหรับแต่ละอินพุต (นั่นคือมันอาจไม่เก็บข้อมูลทั่วไปสำหรับการทำงานหลายครั้ง) โปรแกรมของคุณจะต้องสามารถประเมินผลรายการทั้งหมดใน8192x8192
ตารางด้านบนซ้ายในเวลาที่เหมาะสม
โปรแกรมที่ประเมินผลรายการส่วนใหญ่ได้อย่างถูกต้องใน8192 x 8192
ตารางด้านบนซ้ายจะเป็นผู้ชนะด้วยรหัสที่สั้นลงทำหน้าที่เป็นตัวผูกไท