Sergei
Я руками вбил =)
Evgeniy
=)
Evgeniy
Я раскладывал по стекам аккуратно)
Sergei
Джонатан тоже руками, но он затупил, что стэк и вверх ногами решал – сегодня без очков
Evgeniy
О как. Такое бывает, оказывается
Evgeniy
Без очков. Он иногда руками вбивает, да.
Evgeniy
Даже не думал в этот раз руками вбить, может и надо было бы.
Evgeniy
Можно было строчек наделать, не стеков
Dzianis
Вообще кажется питон нужно запретить для aoc
А и да) забавно было написать парсер этого г, и понять потом что можно было руками написать 😊😃
Dzianis
Sergei
Он сначала сдал, сейчас сидит дописывает)
Evgeniy
А я написал довольно быстро, но увяз в парсинге складывания в стеке. Надо было через 4 символа шагать, а я разбивал по пробелам.
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]
Dzianis
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
Вот так правильно
Evgeniy
Sergei
Что-то вроде тетриса, где фигуры могут зацепиться за другие элементы и остановиться
Evgeniy
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]']
🌚
Dzianis
Ilia
Питонобояре смотрят с недоумением
>>> line = ' [N] [N] [G] [H] [T] [F]'
>>> list(more_itertools.sliced(line, 4))
[' ', '[N] ', ' ', '[N] ', '[G] ', '[H] ', ' ', '[T] ', '[F]']
🌚
На жс не сильно сложнее выйдет, line.match(/.{3,4}/g), да и в любом языке, где регекспы есть выйдет так коротко )
Dimchik
если задачи будут смещены в сторону парсинга - втащу ANTLR какой-то 😄
Ilia
Andrey
Viktor
типа свой инпут в итоге получился
Evgeniy
я сначала написал на стеках, теперь тоже переделал на строки, а точнее на стрингбилдеры
Viktor
Alexander
Alexandr
сегодня не придумал как на питоне красиво сделать 😢
V
Sergei
Подсказки, получается – прикольно.
Ilia
Ilia
Sergei
Плагин какой-то для vscode?
Sergei
Значит нужно включить где-то)
V
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
@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]
не затирается же, expected 2,6
Viktor
@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]
Капасити два. Положили 6 по ключу 2, положили 5 по ключу 1, поменяли на 2 по ключу 1. Вроде для двойки никуда не делось
Viktor
-1 было бы если б еще один ключ добавился. Тогда самое старое значение пришлось бы удалить
Sergei
Пора отдыхать значит)
Evgeniy
https://adventofcode.com/2015/day/22
Evgeniy
Как бы вы это решали?
Ilia
Evgeniy
bfs?
Слишком много комбинаций
Evgeniy
Сколько у тебя хп в инпуте?
Evgeniy
Hit Points: 58
Damage: 9
Evgeniy
У меня так
Evgeniy
Единственный параметр, который гарантированно понижается — это хп у босса
Ilia
Сколько у тебя хп в инпуте?
71
много комбинаций отсекутся, так как эффекты не стакаются(как я понимаю), значит если одновременно висит каст шилда, поизона и речарджа, то будет выбор только из двух вариаций, ну и от этого отталкиваться
Ilia
ну и приоритет кастам поставить "шилд->речардж->поизон"
Evgeniy
Evgeniy
Попробую написать
Ilia
стоимость кастов разная, поэтому бфс не даст правильного ответа, придется идти дальше до конца
Evgeniy
Пока мы не обнулимся, либо босс. Может дотянем без перегрева процессора)
Evgeniy
Но худший вариант, если мы будем по 1 урону наносить. Эта ветка бфс точно зависнет.
Evgeniy
Я еще думал про dp[bossHits], и возврат, если мы дошли до этого уровня здоровья за меньшее количество маны. Но все равно не поможет, так как потратив меньшее количество мы можем просто погибнуть первым.