Існує гра під назвою Get Home, яка грається на шаховій дошці. У цій грі є одна фігура, яка рухається обома гравцями по черзі. Існує кілька правил, як можна перемістити шматок. На черзі гравець повинен зробити один з наступних кроків для позитивного n .
n пробілів вгору
n пробілів зліва
n пробілів вгору та ліворуч (діагональ)
Гравець, який перемістить твір у верхній лівий кут дошки, виграє гру.
Тепер ми визначимо поняття програючого квадрата. У цьому відео (звідки я взяв ідею) програшний квадрат визначається як квадрат, на якому будь-який гравець, що розпочав свою чергу, буде змушений зробити крок, що дозволяє опоненту примусити перемогу. Найпростішим прикладом програючого квадрата буде квадрат у (1,2). Шматок у (1,2) може переміститися в будь-яке з наступних місць.
Усі вони мають прямий шлях до перемоги для наступного гравця.
Звідси випливає, що будь-який квадрат, який має шлях в один рух до площі, що програє, дозволяє гравцеві, що починається на цьому квадраті, примусити виграти. Це означає, що будь-який квадрат, який не знаходиться в одній відстані від площі, що програє, також є програшним квадратом.
Це підводить нас до цього досить акуратного визначення втраченого квадрата:
Квадрат, що програє, - це квадрат, з якого жоден рух не може дійти до іншого програючого квадрата, і (0,0) - це програючий квадрат.
Завдання
З огляду на координати квадрата на шаховій дошці довільного розміру визначте, чи є це програючий квадрат. Виведіть два значення, одне для втрати квадратів та одне для інших.
Це код-гольф, тому відповіді будуть набиратись у байтах, а менша кількість байтів - краща.
Випробування
Ось усі втрачені квадрати на звичайній шаховій дошці 8 на 8 (позначено 0).
0 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1
1 0 1 1 1 1 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 1 1 0
1 1 1 0 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1
Ось зображення дошки 100 на 100 із втраченими квадратами, позначеними чорним кольором (кожен квадрат - 2 пікселі на 2 пікселі).
10, 7
є програш квадрат? Є10, 8
? Про що15, 11
?