假设我们以这种方式在M上N^2 -> {0, 1}(N从1代替0)开始定义一个无限矩阵:
M(1, 1)=0。对于每个
x > 1,M(x, 1)=1ifx是素数,0否则。对于每一个
y > 1,M(1, y)=的y中日长期Thue-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 KB(65,536字节)或总内存使用量不得超过2 MB(2,097,152字节)。您的程序必须从空内存开始(即,它不能从其他地方加载数据)并针对每个输入独立运行(即,它可能不存储多次运行的通用数据)。您的程序还必须能够8192x8192在合理的时间内评估左上角的所有条目。
在左上角正确评估最多条目的程序8192 x 8192将是赢家,而较短的代码将成为平局。