Sergei
Я руками вбил =)
Evgeniy
=)
Evgeniy
Я раскладывал по стекам аккуратно)
Sergei
Джонатан тоже руками, но он затупил, что стэк и вверх ногами решал – сегодня без очков
Evgeniy
О как. Такое бывает, оказывается
Evgeniy
Без очков. Он иногда руками вбивает, да.
Evgeniy
Даже не думал в этот раз руками вбить, может и надо было бы.
Evgeniy
Можно было строчек наделать, не стеков
Dzianis
Вообще кажется питон нужно запретить для aoc А и да) забавно было написать парсер этого г, и понять потом что можно было руками написать 😊😃
Sergei
Он сначала сдал, сейчас сидит дописывает)
Dzianis
Джонатан тоже руками, но он затупил, что стэк и вверх ногами решал – сегодня без очков
я тож тупил долго, из-за того что шаги в обратном порядке стал доставать из списка 🙈
Evgeniy
Он сначала сдал, сейчас сидит дописывает)
Ясно) То-то я смотрю уведомление о его ролике пришло аж через полчаса
Evgeniy
А я написал довольно быстро, но увяз в парсинге складывания в стеке. Надо было через 4 символа шагать, а я разбивал по пробелам.
Sergei
я тож тупил долго, из-за того что шаги в обратном порядке стал доставать из списка 🙈
Не, он получается решил вторую часть сначала и долго дебажил, потом добавил реверс стека и сдал обе части)
Evgeniy
Только сейчас заметил, что инпут еще и с пробелами по вертикали есть // [M] [Z] [V] // [Z] [P] [L] [Z] [J] // [S] [D] [W] [W] [H] [Q] // [P] [V] [N] [D] [P] [C] [V] // [H] [B] [J] [V] [B] [M] [N] [P] // [V] [F] [L] [Z] [C] [S] [P] [S] [G]
Evgeniy
Точно, это уползло при копировании
Sergei
Это могло бы быть в 15 дне и двигалось бы вбок
Evgeniy
// [M] [Z] [V] // [Z] [P] [L] [Z] [J] // [S] [D] [W] [W] [H] [Q] // [P] [V] [N] [D] [P] [C] [V] // [H] [B] [J] [V] [B] [M] [N] [P] // [V] [F] [L] [Z] [C] [S] [P] [S] [G]
Evgeniy
Вот так правильно
Sergei
Что-то вроде тетриса, где фигуры могут зацепиться за другие элементы и остановиться
Evgeniy
"Корабль с грузом на каждом шаге качается влево-вправо. Грузы прижимаются то к левому, то к правому борту"
Evgeniy
follow-up для третьей звезды =)
Sergei
Так и быть, тоже дописал парсинг)
Andrey
Вообще кажется питон нужно запретить для aoc А и да) забавно было написать парсер этого г, и понять потом что можно было руками написать 😊😃
Питонобояре смотрят с недоумением >>> line = ' [N] [N] [G] [H] [T] [F]' >>> list(more_itertools.sliced(line, 4)) [' ', '[N] ', ' ', '[N] ', '[G] ', '[H] ', ' ', '[T] ', '[F]'] 🌚
Dimchik
Кто-нибудь парсил эту хрень?)
я немного инпут отредачил, добавил [0] в пустые ячейки чтоб легче парсить :)
Dimchik
если задачи будут смещены в сторону парсинга - втащу ANTLR какой-то 😄
Evgeniy
Как минимум каждый день будет 1 парсинг ))
И каждый день одна задача 👌😁
Dimchik
Как минимум каждый день будет 1 парсинг ))
Нее, для такого инпута и регексы подойдут.... это если бы эльфы придумали свой язык программирования 😁 можно было антлэром парсить)
Viktor
Кто-нибудь парсил эту хрень?)
я вообще забил и руками 9 столбцов переписал в строчки. если б там было сотня, тогда пришлось бы парсить.
Viktor
типа свой инпут в итоге получился
Evgeniy
я сначала написал на стеках, теперь тоже переделал на строки, а точнее на стрингбилдеры
Sergei
я вообще забил и руками 9 столбцов переписал в строчки. если б там было сотня, тогда пришлось бы парсить.
Я первым делом скормил GPT, чтобы он мне массив стеков сделал, но я еще junior prompt engineer, поэтому результат был построчный только 🤷
Ilia
Кто-нибудь парсил эту хрень?)
я парсил сразу, выглядит вроде не сложно )
Alexandr
сегодня не придумал как на питоне красиво сделать 😢
Sergei
я парсил сразу, выглядит вроде не сложно )
Synthwave любишь?) Поэтому var? Подскажи, пожалуйста, что за separator, callbackfn и initialvalue – это типы для левшей? 😁
V
Synthwave любишь?) Поэтому var? Подскажи, пожалуйста, что за separator, callbackfn и initialvalue – это типы для левшей? 😁
Это инлайн-теги в Webstorm. Он так вставляет названия принимаемых переменных в функции
Sergei
Подсказки, получается – прикольно.
Sergei
Плагин какой-то для vscode?
Ilia
Плагин какой-то для vscode?
нет, месяца 3-4 это штатная функция теперь, раньше только плагинами можно было сделать
Sergei
Значит нужно включить где-то)
Sergei
А типы для левшей смешной плагин можно сделать для vscode. Сайты же RTL делают, почему синтаксис нельзя вывернуть)
Sergei
"javascript.inlayHints.parameterNames.enabled": "all"
Sergei
@vitkarpov поясни про LRU cache, пожалуйста. Для этого инпута Output такой, как я и ожидаю от работы кэша (если ключ есть – обновляем значение, кэш не трогаем). А в Expected 6 для ключа 2 – почему затирается значение, я же только единичку обновлял? ["LRUCacheCapacity","put","put","put","get","get"] [ [2], [2,6],[1,5],[1,2], [1], [2] ] Expected: [null,null,null,null,2,6] Output: [null,null,null,null,2,-1]
Ilia
не затирается же, expected 2,6
имплементация некорректная значит
Viktor
-1 было бы если б еще один ключ добавился. Тогда самое старое значение пришлось бы удалить
Sergei
Пора отдыхать значит)
Evgeniy
https://adventofcode.com/2015/day/22
Evgeniy
Как бы вы это решали?
Evgeniy
bfs?
Слишком много комбинаций
Evgeniy
Сколько у тебя хп в инпуте?
Evgeniy
Hit Points: 58 Damage: 9
Viktor
Слишком много комбинаций
Придется мемоизацию вкручивать
Evgeniy
У меня так
Evgeniy
Придется мемоизацию вкручивать
Да вот думал, подобрать бы подструктуру оптимальную для дп
Evgeniy
Единственный параметр, который гарантированно понижается — это хп у босса
Ilia
Сколько у тебя хп в инпуте?
71 много комбинаций отсекутся, так как эффекты не стакаются(как я понимаю), значит если одновременно висит каст шилда, поизона и речарджа, то будет выбор только из двух вариаций, ну и от этого отталкиваться
Ilia
ну и приоритет кастам поставить "шилд->речардж->поизон"
Evgeniy
Попробую написать
Ilia
Попробую написать
не надо, бфс плохая идея))
Ilia
стоимость кастов разная, поэтому бфс не даст правильного ответа, придется идти дальше до конца
Evgeniy
Пока мы не обнулимся, либо босс. Может дотянем без перегрева процессора)
Evgeniy
Но худший вариант, если мы будем по 1 урону наносить. Эта ветка бфс точно зависнет.
Evgeniy
Я еще думал про dp[bossHits], и возврат, если мы дошли до этого уровня здоровья за меньшее количество маны. Но все равно не поможет, так как потратив меньшее количество мы можем просто погибнуть первым.