Advent of Code 2022: Day 10
Так вот ты какая — идеальная капча!
Задача десятого дня далась неожиданно просто. Ну, не совсем неожиданно и не совсем просто, будем честны. Но, по сравнению с проклятым «древом седьмого дня» — это было совсем не больно
Поначалу думал, что получится всё запихать в один длинный и страшный стрим, с кучей таинственных мутаций внутри.
Как-то я делал сервис, реализующий развесистую логику подбора уже не помню чего по куче разных условий — и вот там было именно так. Мапы перетекали в мапы, всё это бесконечно упаковывалось и распаковывалось, подвергалось преобразованиям Шварца (да, корни где-то в Лиспе), и, в качестве вишенки на торте, венчалось самосборным коллектором.
В общем, для такого лучше подошел бы Perl. Или, например, JS. И уже через минуту я бы точно забыл, как это работает.
На джаве всё получилось достаточно стройненько (но очень даже длинненько), не смотря на использование только консоли jshell. Кучка сущностей с описанием системы:
Черту под которыми подводит достаточно простая логика обработки входа:
В итоге получилось заветное слово АБЫРВАЛГ. Шучу — получилось (не менее странное) RZHFGJCB.
С точками в качестве «пустых символов» это выглядело абсолютно нечитаемо, подчеркивания чуть исправили картину, но наилучший эффект и белоснежную улыбку обеспечили самые обыкновенные пробелы!
Кто-нибудь знает, что это может означать? Я тоже понятия не имею Наверное, можно было бы поколдовать с escape-символами консоли, но наш девиз — «И так сойдёт!».