Введение
Все знают игру в крестики-нолики, но в этой задаче мы собираемся внести небольшой поворот. Мы будем использовать только крестики . Первый человек, который ставит три креста подряд, проигрывает. Интересным фактом является то, что максимальное количество крестов, прежде чем кто-то проиграет, равно 6 :
X X -
X - X
- X X
Это означает, что для доски 3 x 3 максимальная сумма равна 6 . Поэтому для N = 3 нам нужно вывести 6.
Другой пример, для N = 4 или для доски 4 x 4:
X X - X
X X - X
- - - -
X X - X
Это оптимальное решение, вы можете видеть, что максимальное количество крестов равно 9 . Оптимальное решение для доски 12 x 12:
X - X - X - X X - X X -
X X - X X - - - X X - X
- X - X - X X - - - X X
X - - - X X - X X - X -
- X X - - - X - - - - X
X X - X X - X - X X - -
- - X X - X - X X - X X
X - - - - X - - - X X -
- X - X X - X X - - - X
X X - - - X X - X - X -
X - X X - - - X X - X X
- X X - X X - X - X - X
Это приводит к 74 .
Задание
Задача проста, учитывая целое число больше 0, вывести максимальное количество крестов, которые могут быть размещены без трех X рядом в строке вдоль строки, столбца или по диагонали.
Контрольные примеры
N Output
1 1
2 4
3 6
4 9
5 16
6 20
7 26
8 36
9 42
Более подробную информацию можно найти по адресу https://oeis.org/A181018 .
правила
- Это код-гольф , поэтому выигрывает представление с наименьшим количеством байтов!
- Вы можете предоставить функцию или программу.