Suponha que definamos uma matriz infinita M, on N^2 -> {0, 1}(de onde Ncomeça em 1vez de 0) desta maneira:
M(1, 1)=0.Para todo
x > 1,M(x, 1)=1sexé primo e0caso contrário.Para todos
y > 1,M(1, y)= oyth termo noThue-Morse sequence.Para cada
x, y > 1,M(x, y)=M(x, y-1) + M(x-1, y) mod 2.
A 16x16seção superior esquerda desta matriz se parece (com xlinhas e ycolunas):
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
Sua tarefa é criar um programa que avalie o valor de uma entrada arbitrária nessa matriz com a maior precisão possível.
Seu programa terá dois números inteiros xe, ycomo entrada, em qualquer forma que você escolher, e retornará M(x, y), que será um 0ou 1.
Seu código pode ser escrito em qualquer idioma, mas não deve exceder 64 kilobytes (65.536 bytes) de tamanho de código-fonte ou 2 MB (2.097.152 bytes) de uso total de memória. Seu programa deve iniciar com memória vazia (ou seja, não pode carregar dados de outro lugar) e executar independentemente para cada entrada (ou seja, pode não armazenar dados comuns para várias execuções). Seu programa também deve poder avaliar todas as entradas no 8192x8192quadrado superior esquerdo em um período de tempo razoável.
O programa que avaliar mais entradas corretamente no 8192 x 8192quadrado superior esquerdo será o vencedor, com um código mais curto atuando como desempate.