A matriz Wythoff é uma matriz infinita que consiste nos números Grundy de cada quadrado em um tabuleiro de xadrez no jogo de Wythoff .
Cada entrada nessa matriz é igual ao menor número não negativo que não aparece em nenhum lugar acima, à esquerda ou na diagonal a noroeste da posição da entrada.
O quadrado de 20 por 20 no canto superior esquerdo é assim:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
1 2 0 4 5 3 7 8 6 10 11 9 13 14 12 16 17 15 19 20
2 0 1 5 3 4 8 6 7 11 9 10 14 12 13 17 15 16 20 18
3 4 5 6 2 0 1 9 10 12 8 7 15 11 16 18 14 13 21 17
4 5 3 2 7 6 9 0 1 8 13 12 11 16 15 10 19 18 17 14
5 3 4 0 6 8 10 1 2 7 12 14 9 15 17 13 18 11 16 21
6 7 8 1 9 10 3 4 5 13 0 2 16 17 18 12 20 14 15 11
7 8 6 9 0 1 4 5 3 14 15 13 17 2 10 19 21 12 22 16
8 6 7 10 1 2 5 3 4 15 16 17 18 0 9 14 12 19 23 24
9 10 11 12 8 7 13 14 15 16 17 6 19 5 1 0 2 3 4 22
10 11 9 8 13 12 0 15 16 17 14 18 7 6 2 3 1 4 5 23
11 9 10 7 12 14 2 13 17 6 18 15 8 19 20 21 4 5 0 1
12 13 14 15 11 9 16 17 18 19 7 8 10 20 21 22 6 23 3 5
13 14 12 11 16 15 17 2 0 5 6 19 20 9 7 8 10 22 24 4
14 12 13 16 15 17 18 10 9 1 2 20 21 7 11 23 22 8 25 26
15 16 17 18 10 13 12 19 14 0 3 21 22 8 23 20 9 24 7 27
16 17 15 14 19 18 20 21 12 2 1 4 6 10 22 9 13 25 11 28
17 15 16 13 18 11 14 12 19 3 4 5 23 22 8 24 25 21 26 10
18 19 20 21 17 16 15 22 23 4 5 0 3 24 25 7 11 26 12 13
19 20 18 17 14 21 11 16 24 22 23 1 5 4 26 27 28 10 13 25
Atualmente, não existe um algoritmo eficiente conhecido para calcular uma entrada arbitrária na matriz Wythoff. No entanto, sua tarefa neste problema é tentar projetar uma função heurística que diga se o número em uma coordenada específica wythoff(x, y)
é par ou ímpar.
Seu programa não pode conter mais de 64 KB (65.536 bytes) de código-fonte ou usar mais de 2 MB (2.097.152 bytes) de memória de trabalho.
Especialmente para uso de memória, isso significa que o tamanho máximo do conjunto de residentes do seu programa não pode exceder 2 MB a mais que o tamanho máximo do conjunto de residentes de um programa vazio nesse idioma. No caso de uma linguagem interpretada, seria o uso de memória do próprio intérprete / máquina virtual e, no caso de uma linguagem compilada, seria o uso de memória de um programa que executa o método principal e não faz nada.
Seu programa será testado na 10000 x 10000
matriz para valores de linha 20000 <= x <= 29999
e valores de coluna em 20000 <= y <= 29999
.
A pontuação do seu programa é a taxa de precisão (número de suposições corretas) que o seu programa alcança, com um código mais curto atuando como desempate.
01.R
é um 05AB1E que gera verdadeiro ou falso aleatoriamente. Seja 0 verdadeiro e 1 falso, meu programa teoricamente estará correto ~ 50% das vezes. Esta entrada é válida?