В китайских шашках фигура может двигаться, перепрыгивая через любую другую фигуру или создавая последовательность таких прыжков. Ваша задача - найти максимально длинную последовательность прыжков.
вход
Последовательность из 121 нуля или единиц, каждый из которых представляет место на доске. Ноль означает, что место пусто; один означает, что место занято. Позиции перечислены слева направо; сверху донизу. Например, ввод этой установки будет
1011110011000001000000000000000000000000100000000001000000000000000000000000000001000000000000000000000001000001100111111
Объяснение:
Самое верхнее место занимает зеленая часть, поэтому первая цифра на входе -
1
. Второй ряд имеет одну пустую позицию, а затем одну занятую позицию, поэтому01
следующий. Третий ряд уже занят, так что111
. В четвертом ряду два пустых и два занятых пробела (слева направо), поэтому0011
. Затем идут пять0
, а1
и семь0
для следующего ряда и так далее.
Как и в этой настройке, есть угол, направленный прямо вверх. На доске может быть любое количество фигур (от 1 до 121). Обратите внимание, что кусочки разных цветов не представлены по-разному.
Выход
Максимальная длина легального прыжка, используя любую фигуру на доске. Вы не можете посещать одно и то же место более одного раза (включая начальную и конечную позиции). Тем не менее, вы можете перепрыгнуть через один и тот же кусок более одного раза. Если легального прыжка нет, выведите 0
. Не думайте, существует ли законный ход без прыжка.
Например, выход для настройки, описанной выше, является 3
.
Ввод и вывод могут быть выполнены через stdin и stdout, через аргументы командной строки, через вызовы функций или любой подобный метод.
Тестовые случаи
Входные данные:
0100000010000000000000000100000000000000000000000000000001010010000000000000000000000101000000000000000000100000000100001
Вывод: 0
(нет двух частей рядом друг с другом)
Входные данные:
0000000000111100000000011100000000011000000000100000000000000000000000000000000000000000000000000000000000000000000000000
Выход: 1
(начальная настройка для одного игрока в левом верхнем углу)