Supongamos que definimos una matriz infinita M, en N^2 -> {0, 1}(donde Ncomienza en 1lugar de 0) de esta manera:
M(1, 1)=0.Para cada
x > 1,M(x, 1)=1sixes primo, y de lo0contrario.Para cada
y > 1,M(1, y)= elytérmino th en elThue-Morse sequence.Por cada
x, y > 1,M(x, y)=M(x, y-1) + M(x-1, y) mod 2.
La 16x16sección superior izquierda de esta matriz se ve (con xser filas y ycolumnas):
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
Su tarea es crear un programa que evalúe el valor de una entrada arbitraria en esta matriz con la mayor precisión posible.
Su programa tomará dos enteros xy ycomo entrada, en cualquier forma que elija, y devolverá M(x, y), que será 0o 1.
Su código puede estar escrito en cualquier idioma, pero no debe exceder los 64 kilobytes (65,536 bytes) de tamaño de código fuente o 2 MB (2,097,152 bytes) de uso total de memoria. Su programa debe comenzar con memoria vacía (es decir, no puede cargar datos desde otro lugar) y ejecutarse independientemente para cada entrada (es decir, puede que no almacene datos comunes para múltiples ejecuciones). Su programa también debe poder evaluar todas las entradas en el 8192x8192cuadro superior izquierdo en un período de tiempo razonable.
El programa que evalúa correctamente la mayor cantidad de entradas en el 8192 x 8192cuadro superior izquierdo será el ganador, con un código más corto que actúa como un desempate.