Матриця Wythoff - це нескінченна матриця, що складається з номерів Grundy кожного квадрата на шаховій дошці в грі Wythoff .
Кожен запис у цій матриці дорівнює найменшому негативному номеру, яке не з’являється ніде вгорі, зліва або по діагоналі на північний захід від позиції.
Лівий верхній квадрат 20 на 20 виглядає так:
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
Наразі не існує відомого ефективного алгоритму для обчислення довільного запису в матриці Вайтофа. Однак ваше завдання в цій проблемі - спробувати спроектувати евристичну функцію, яка підкаже, чи є число певної координати wythoff(x, y)
парним чи непарним.
Ваша програма не може містити більше 64 КБ (65,536 байт) вихідного коду або використовувати більше 2 Мб (2 097 152 байт) робочої пам'яті.
Зокрема, для використання пам'яті, це означає, що максимальний розмір набору резидентів вашої програми не може перевищувати 2 Мб більше, ніж максимальний розмір набору резидентної порожньої програми на цій мові. У випадку інтерпретованої мови це буде використання пам'яті самого інтерпретатора / віртуальної машини, а у випадку складеної мови - це використання пам'яті програми, яка виконує основний метод і нічого не робить.
Ваша програма буде протестована на 10000 x 10000
матриці на значення рядків у 20000 <= x <= 29999
та значеннях стовпців у 20000 <= y <= 29999
.
Оцінка вашої програми - це швидкість точності (кількість правильних здогадок), яку досягає ваша програма, і коротший код виступає в ролі краватки.
01.R
являє собою 05AB1E, який виводить істинно або помилково випадковим чином. Нехай 0 відповідає істині, а 1 - хибною, теоретично моя програма буде коректною ~ 50% часу. Це дійсний запис?