- 22, Oct 2024
- #1
Часть Появление Кодекса Гольфа 2021 событие. Подробности смотрите в связанном мета-сообщении.
История продолжается с AoC2018, день 3.
Но ты не Бабблер, ты Ликсал! да, я знаю.
После долгого периода хаоса эльфы наконец договорились, как разрезать ткань. К сожалению, на следующий день они придумали, как использовать остатки — сделать очень длинную ленту для упаковки подарков. Что ж, если он может уменьшить Санту, возможно, он сможет уменьшить и подарки...
Описание полосы представляет собой строку
, which happens to be the first letters of "up down left right" in Elvish (totally not этот эльфийский). Разделите ткань на сетку из квадратных ячеек размером 1 см × 1 см, выберите начальную ячейку где-то посередине, а затем перемещайтесь согласно описанию, чтобы забрать полоску.C -> 1 ODD -> 2 (DD) OOCOFFFDD -> 9 (whole input) OOCOFFFDDCCCD -> 11 (whole input minus first 2) OOOFFDCCCDFFFDCOOO -> 12 (minus first 3 and last 3)
Итак, если строка ODCF
, you would get this strip, starting at X:
OFFF
CO.D
.OCD
.X..
OFFF
CX.D
CCCD
D...
... За исключением того, что полоска, которую вам дали Эльфы, является самопересекающейся, поэтому она просто не работает (деталь ткани площадью 1 см² волшебным образом не становится 2 см² - ну, это физика, по крайней мере, пока не придет Санта).
Учитывая строку COFFFDDCCCD
, the OOCOFFFDDC
это место самопересечения полосы:
?
Во избежание OFFF
CO.D
C?CD
DX..
cell becoming a problem, you can take its substring (a contiguous part of the given string) in two ways: ?
(отрезая последние 3 символа) и OOCOFFFDDCCCD
(cutting away the first 2 chars) gives, respectively,
OFFF
CO.D
.O.D
.X..
Среди этих двух и всех остальных вариантов последний из двух выше является самым длинным.
Дана непустая строка OOCOFFFDD
, determine the length of its longest substring out of which you can make a valid (non-self-intersecting) strip. Assume the fabric leftover is large enough to cover any valid substring of the input.
Применяются стандартные правила. Выигрывает самый короткий код в байтах.
Тестовые случаи
ODCF
#код-гольф #код-гольф #строка #сетка