Chat:Ru/2020-08-14

From CG community
Revision as of 11:26, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/25714480415254> tutubalin: gtj у тебя находит только одну дугу из узла, а надо искать все. <img src=/a/2571448041525...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

tutubalin: gtj у тебя находит только одну дугу из узла, а надо искать все.

tutubalin: например 1-6 нашла, а 1-2 пропустила

tutubalin: вангую: либо лишний else либо лишний break

gsomix: Uljahn, да, двигаться к центроиду (минимизировать сумму расстояний) недостаточно. Хочу попробовать написать симуляцию для гигантов, может быть это даст еще одно слагаемое в целевой функции.

Uljahn: так ведь хотелось бы без симуляции

gsomix: Какая-то хитрая эвристика должна быть. Я думал про то, чтобы идти к смещенному центроиду, если центроид занят гигантом. Но ничего хорошего не получилось.

gsomix: https://pbs.twimg.com/media/ET-KOCxXgAIWRMG.jpg

Uljahn: "если равная сумма - то подальше по евклидовому расстоянию" - по идее будет диагонально отступать. а ещё - "WAIT" тоже придётся использовать? а то я только соседей перебираю

Uljahn: с выводом карты в дебаг проще конечно, когда 4 года назад делал первый подход - ещё не знал, как это легко и красиво можно сделать

gsomix: Все, 100%.

gsomix: Можно спокойно работать. :)

Uljahn: гратц

gsomix: Спасибо. Первая задача из харда.

Uljahn: кажется, понял: двигаться ближе по чебышёву, а из равных выбирать дальнее по эвклиду...

BorisZ: Uljahn да, так и есть. Все 9 клеток куда можно пойти рассматриваю в том числе wait

BorisZ: ну и понятно что не бить если можно отойти куда то безопасно

Uljahn: спс

BorisZ: бить только если все в рендже или нет ходов безопасных

BorisZ: http://chat.codingame.com/pastebin/2b574a1f-4f2f-49a0-8315-a253ace6b866

Uljahn: а рендж - 9 spaces wide - это 9х9 квадрат что ли? :scream_cat:

BorisZ: в последнем тесте вот так они собираются, не двигаюсь пока не подойдут на HEIGHT // 2

BorisZ: да )

BorisZ: def in_strike(self, o):

       return self.ddist(o) <= 4

gsomix: BorisZ, сработало в итоге?

BorisZ: да, у меня сработало

BorisZ: с последним кейсом пришлось только помучиться - помогла задержка

gsomix: Хорошая задача, потому что разными путями можно решить. :)

gsomix: Надо код причесать и убрать кое-какой хардкод.

Uljahn: я правильно понял - если идти в соседнюю с гигантом клетку, то он 100% ловит?

gsomix: Uljahn, да.

gsomix: Закончил. Не уверен, что мой код будет работать в любых условиях. Но симулятор для этой задачи писать лень. :)

gsomix: В итоге получилась следующая стратегия: идти к центроиду и ждать, а если он уже занят, то идти к любой свободной точке около него.

gsomix: Вчера не получилось, потому что я шел минимизируя расстояние по Чебышеву, а эффективнее оказалось ходить по Манхеттену. :upside_down:

tutubalin: пока сделал просто - убегать подальше, пока не зажмут когда зажали - бить

tutubalin: проходит всё, кроме последних двух. там он просто стоит на месте пока они рядом не подойдут, и только после этого начинает бегать

Tandemura: gsomix Ты пишешь про лень писать симулятор. Под симулятором имеется в виду симулятор гигантов? Я правильно понимаю?

gsomix: Да.

Tandemura: А у этого сайта нет никаких плагинов для известных IDE?

Tandemura: Онлайн IDE, в принципе, удобная, но с некоторыми задачками хотелось бы в своей привычной поковырять.

gsomix: Tandemura, я пользуюсь Sync для синхронизации файлов с онлайн IDE.

https://www.codingame.com/forum/t/codingame-sync-beta/614

Tandemura: Спасибо, посмотрю.

mykeich: cntrl+a cntrl+c win+1 mouse 1 cntrl+v

gsomix: mykeich, удобнее, когда оно само синхронизирует и запускает. :)

Tandemura: А по сути симулятор гиганта - это то же самое, что первая задачка про Тора, только в качестве Тора будут гиганты, а в Качестве конечной точки будет сам Тор.

Uljahn: похоже на то

gsomix: Tandemura, немного хитрее, мне кажется, потому что гиганты друг на друга не заходят.

mykeich: gsomix я привык и у меня часто несколько копий кода для проверки разных теорий

gsomix: Непонятно, в каком порядке вычисляются их позиции.

Tandemura: gsomix это точно, что они толкаются и мешают друг другу? По спрайтам похоже, что топчутся друг в друге, хотя я не знаю какой там шаг сетки.

Uljahn: надо в дебаг выводить карту

gsomix: > all the remaining giants on the map move in the direction of Thor (without ever overlapping each other)

Uljahn: http://chat.codingame.com/pastebin/4aefbfb7-89c6-4816-acd7-1b3d9d46118b

Uljahn: при этом в визуализаторе ничего не понятно - спрайты перекрываются

tutubalin: Tandemura CGSync - удобный экстеншн для браузера. синхронизирует файл на диске и в CG. можно использовать любую IDE, какая нравится

tutubalin: mykeich для проверки теорий я использую Git :)

BorisZ: Uljahn тех гигантов которые в рейндже другим символом лучше печатать - лучше обзор будет

BorisZ: G & g например

Uljahn: я ещё рендж не проверяю, но спасибо за совет, сделаю

tutubalin: можно и сам обзор другим символом. например пробелом вместо точки

Uljahn: и внешний визуализатор в 3D на жль написать :relieved:

BorisZ: слово жль каким-то образом стало ругательством )

BorisZ: приобрело отрицательную коннотацию

BorisZ: чудны твои пути, господи

tutubalin: гжель

Uljahn: будто что-то сокращённое нецензурное типа бдь, кстати и буквы на клаве совсем рядом (в обычной раскладке)

tutubalin: гиганты ходят в том же порядке, в котором они передаются

tutubalin: если одна координата больше другой в 2 или более раз - ходит по ней

tutubalin: если разница меньше чем в 2 раза, то ходит наискосок

mykeich: что за пазл?

tutubalin: имеется в виду координата относительно Тора

tutubalin: тор-2, гиганты наносят ответный удар

tutubalin: http://chat.codingame.com/pastebin/f7a186f9-92ca-465b-9e43-5b62844d6d6b

mykeich: поиск на сайте CG какой-то бесполезный, пазл как будто делал а найти его не реально

mykeich: POWER OF THOR - EPISODE 2 ?

BorisZ: mykeich да, оно

BorisZ: tutubalin а ты это сам вывел или рефери где-то есть?

mykeich: у меня решение на симуляции и движение гигантов простое

BorisZ: похоже на правду очень - с гигантами

Uljahn: http://chat.codingame.com/pastebin/0c5f5ef3-b91d-40da-845a-32b3582f7e3c

Uljahn: красоту навёл

mykeich: И что выяснил?:)

BorisZ: круть) еще пару мелких улучшений и вот от жль )

gsomix: И получится рогалик. :)

tutubalin: Uljahn раздели клетки пробелами. чтобы aspect ratio 1:1 сделать

Uljahn: угу

tutubalin: BorisZ сам вывел. посмотри картинку выше.

BorisZ: без динамики то не понять, но я согласен с правилом, но для симы надо еще добавить что делать гиганту если занята клетка

Default avatar.png gtj: Ульян лучше сделай в граф

Default avatar.png gtj: самое простое визуализейшн

Default avatar.png gtj: я у корейца подсморел делаешь отдельный метод билд граф

Default avatar.png gtj: копируешь вставляешь в браузер и готово

Uljahn: :joy:

Default avatar.png gtj: http://chat.codingame.com/pastebin/928678d7-2d27-4340-9cd7-6058438efa81

Uljahn: теперь жль уже не модно? модно в граф всё пихать?

Default avatar.png gtj: сначало если это граф надо в граф засунуть в такой визуальный

Default avatar.png gtj: потом жль

Default avatar.png gtj: теперь ты каждый кадр сканишь карту свою)

Default avatar.png gtj: красавчик значит разобрался)

tutubalin: gtj lolii, а ты бфс уже сделал?

Default avatar.png gtj: ага

tutubalin: лабиринт прошёл?

Default avatar.png gtj: ты не правильный вопрос задал

Default avatar.png gtj: найди правильный вопрос

tutubalin: просто тебе неправильно отвечать

Default avatar.png gtj: ищи

tutubalin: зацени: https://www.codingame.com/replay/481739856

tutubalin: бфс без очереди

tutubalin: из состояния только один булеан: идём к терминалу или к выходу

tutubalin: потому что игра это не передает, приходится хранить

Default avatar.png gtj: тут мини баг есть

tutubalin: заняло чуть больше часа

tutubalin: а ты уже неделю не можешь бфс понять

tutubalin: эх lolii lolii

Default avatar.png gtj: проверь связи

Default avatar.png gtj: выведи ребра

tutubalin: зачем? у меня всё работает как по маслу

Default avatar.png gtj: у тебя когда он начинает играть 1 ход делает вних а должен минимум 5 сделать

tutubalin: зачем?

Default avatar.png gtj: потомучто с другой стороны он обходит и не проход до не изведаной дороги

Default avatar.png gtj: как будто стена где ее нет

Default avatar.png gtj: посмотри реплей

Default avatar.png gtj: http://chat.codingame.com/pastebin/e4444e69-2191-4bdb-9df0-3cacb9bd9903

Default avatar.png gtj: заюзай

tutubalin: зачем мне этот говнокод?

tutubalin: у меня прекрасно работает

Default avatar.png gtj: посмотреть связи с графом

tutubalin: ты на реплее видишь весь лабиринт

tutubalin: кирк видит только часть

tutubalin: он делает выводы на основе того что видит

Default avatar.png gtj: посмотри 5 шаг

tutubalin: что в нём не так?

Default avatar.png gtj: ща нарисую

Default avatar.png gtj: ххххххх ххххх0х ххххх0х ххххххх

Default avatar.png gtj: потом он обходит

Default avatar.png gtj: и как будто там 2 икса для него незивестных тоесть стенка

Default avatar.png gtj: щас скажу ход обхода с другой стороны первому

Default avatar.png gtj: 70+

tutubalin: что такое ход обхода с другой стороны первому?

Default avatar.png gtj: там буквально 1-2-3 хода он не доходит

Default avatar.png gtj: ну я сравнил 1 слайд с 70+

Default avatar.png gtj: и заметил что он не фиксирует 2 3 клетки

Default avatar.png gtj: или 1

tutubalin: а почему он должен доходить?

Default avatar.png gtj: хз

tutubalin: http://chat.codingame.com/pastebin/203f3d3d-c26c-489c-893c-b198de7da0e3

tutubalin: вот так это выглядит для кирка

Default avatar.png gtj: если у тебя работает то классно

Default avatar.png gtj: как ты хранишь ребра?

tutubalin: никак )

Default avatar.png gtj: окей я просто покажу свой код

Default avatar.png gtj: http://chat.codingame.com/pastebin/1154e860-17f8-46c4-abcb-e8a75c700b66

tutubalin: у меня есть грид. просто проверяю 4 направления

Default avatar.png gtj: ты хранишь гриф это плохо

Default avatar.png gtj: грид

Default avatar.png gtj: надо понять почему в 1 слайде он делает 1 шаг вниз и обратно а в 70 не доходит до туда где пошел вверх если коротко

tutubalin: я понимаю, почему он так делает )

Default avatar.png gtj: я думал ты не допечатывал секонды

tutubalin: ты картинку посмотрел?

Default avatar.png gtj: и думал они у тебя в векторах

Default avatar.png gtj: ну

Default avatar.png gtj: смотрел

tutubalin: он идёт к ближайшему вопросу

tutubalin: ближайший вопрос сверху

Default avatar.png gtj: да но смори

Default avatar.png gtj: сек

Default avatar.png gtj: ок если работает то ок

Default avatar.png gtj: хз почему он так делает

Default avatar.png gtj: у меня кстати были похожие баги вначале вчера

gsomix: gtj, видимо ты забыл, что

> [Kirk] is only able to scan the cells located in a 5-cell wide square centered on him.

Default avatar.png gtj: забыл как их фиксил

Default avatar.png gtj: да

Default avatar.png gtj: мне если честно пофиг я свою задачу выполнил сделал то чего хотел теперь можно дальше разбираться

Default avatar.png gtj: туту я вот чего добился все валид)

Default avatar.png gtj: http://chat.codingame.com/pastebin/1cbeea46-c508-456d-bc7c-24a9b3ad7316

tutubalin: все тесты прошёл?

Default avatar.png gtj: ты на своей волне

tutubalin: это просто твоё отношение. измени его

Default avatar.png gtj: у тебя наверно каждый кто кодером назвался 100% все умеет

Default avatar.png Denis_Ka_120719: hi all

gsomix: Привет!

Default avatar.png gtj: hi

tutubalin: Denis_Ka_120719 привет!

tutubalin: добро пожаловать на CG!

Default avatar.png Denis_Ka_120719: how r u?

Default avatar.png gtj: tutubalin у меня вот почему то все было но с графами дел не имел и вот все изучил как я понял, но тут используется 1 подтип графов

Default avatar.png gtj: tutubalin и вот в этом вопросе где он нужен я более менее раззобрался

tutubalin: gtj ты не понимаешь условие задачи, а даёшь советы

Default avatar.png gtj: tutubalin главное не это а то что я разобрался с тем о чем не знал а то что ты пишешь другого рода дело

tutubalin: gtj ты молодец! теперь попробуй применить полученные знания для решения задачи

Default avatar.png gtj: tutubalin еще рано

tutubalin: gtj держи бфс без очереди, смс и регистрации https://pastebin.com/WPCKK79B

Default avatar.png gtj: да у меня есть я буду с очередью делать

Default avatar.png gtj: у меня на яве все есть

Default avatar.png gtj: все понятно как написано

Default avatar.png gtj: ток пиши на ++

Default avatar.png gtj: это ты тот имплементейшн посмотрел)

tutubalin: на плюсах получается тошнотина

Default avatar.png gtj: 100%)

tutubalin: какой тот?

tutubalin: который я тебе на русском языке писал?

tutubalin: https://pastebin.com/aewqFpCg

Default avatar.png gtj: ну и тот тоже да все похоже на решения смотрел есть

Default avatar.png gtj: смотреть если

Default avatar.png gtj: на + надо using юзать

Tandemura: Denis_Ka_120719 привет!

Default avatar.png gtj: тогда вроде прячет тошнотину

tutubalin: вот тем, кто using namespace std использует в серьёзных конторах отрубают руки

Default avatar.png gtj: ты не понял)

Default avatar.png gtj: если не понял щас напишу)

tutubalin: не надо

tutubalin: лучше реши задачу

tutubalin: или хотя бронза в крестиках

Default avatar.png gtj: using nv_t = std::map<int, std::vector<std::pair<int, int>>>::iterator;

tutubalin: ну вот уже тошнотина пошла

tutubalin: лучше выйди в бронзу

Default avatar.png gtj: кароче чтобы понять о чем я глянь корейца

tutubalin: ты тут полгода уже, а всё ещё в дереве

tutubalin: стыд и позор

Default avatar.png gtj: http://chat.codingame.com/pastebin/eae0bd09-9835-4bd6-bc7b-3e0c49db921f

tutubalin: не надо этой тошнотиной чат забивать

Default avatar.png gtj: а что для тебя не тошнотина?

Default avatar.png gtj: даже коррец в варианте и тупле пишет так

Default avatar.png gtj: и пол языка переопределяет

Default avatar.png Denis_Ka_120719: есть кто на Perle тут задачки решает ? :)

Default avatar.png gtj: чтоб ему проще было с потоком работать

tutubalin: Denis_Ka_120719 это тебе в #world надо

Default avatar.png Denis_Ka_120719: ой, не заметил что русский поток

tutubalin: и то перл в основном для гольфа только

Default avatar.png Denis_Ka_120719: я ищу ресурсы где можно потренировать знания, полученные из книжки XD

tutubalin: не, потренить смело можешь

tutubalin: но не знаю, сможет ли кто-то посоветовать, если бага будет

tutubalin: тест

gsomix: tutubalin, что проверяешь? :)

tutubalin: иногда чат перестаёт обновляться

Default avatar.png gtj: tutubalin а что у тебя выводит когда идет твой кирк по лабиринту в вывод тыже тестил дома

Default avatar.png gtj: серию чисел или одно число?

Default avatar.png gtj: путь получается серия тут что засунешь в путь получается да?

tutubalin: ты неправильно сформулировал вопрос

tutubalin: если имеешь в виду, в каком формате bfs возвращает путь до целевой точки

tutubalin: то ответ следующий: bfs не возвращает путь целиком, только самый первый шаг

tutubalin: если быть конкретнее, в общем случае bfs может построить весь путь, но в этой конкретной задаче весь путь не нужен

Default avatar.png gtj: да мне не надо для этой задачи чтобы эту задачу решить надо понять как все работает

Default avatar.png gtj: чтобы настроить под эту задачу

Default avatar.png gtj: просто 1 код возвращает 1 число

Default avatar.png gtj: я пытался настроить чтобы возвращал серию чисел

tutubalin: какой 1 код? какое 1 число?

tutubalin: их нихт фирштейн

Default avatar.png gtj: https://e-maxx.ru/algo/bfs#4

Default avatar.png gtj: он 1 число возвращает

Default avatar.png gtj: я пытаюсь понять как вывод для что он показывает и что по нему понимать

Default avatar.png gtj: тоесть он вывод типо чо это значит

tutubalin: вот почитай внимательно свою ссылку и научись так же чётко формулировать мысли, как в тексте по ссылке

Default avatar.png gtj: я читал

Default avatar.png gtj: и не раз

Default avatar.png gtj: он мне по момему лабиринту 1 число возвращает 1 или 2

Default avatar.png gtj: Path: 1 и видел 2 1 раз

tutubalin: короче если по графу одно число то не то что да тогда типа серия по графу фьють фьють и в дамки

Default avatar.png gtj: ты хочешь сказать если 1 то вызвать бфс по текущей вершине

Default avatar.png gtj: кароче вопрос исключительно касается смежного вопроса вывода информаии движения обьекта для людей а не для машин

Default avatar.png gtj: типо того

tutubalin: это короче как в линяге только с графой 1 в 1 как в линяге берёшь код и одним прокастом делаешь комбо серию 1 число много чисел

Default avatar.png gtj: и число 1 не понятно чо значит для кого это

Default avatar.png gtj: бфс да есть в линяге только он ищет фокус доступный в диаметре

tutubalin: у тебя bfs написан?

Default avatar.png gtj: да

Default avatar.png gtj: он у всех 1

tutubalin: написан тобой или скачан?

Default avatar.png gtj: написан канечно

tutubalin: что передаёшь на вход?

Default avatar.png gtj: я пишу только то что понимаю

tutubalin: какие параметры передаёшь на вход?

Default avatar.png gtj: tutubalin стартовый вертекс номер его

Default avatar.png gtj: ради этих вертексов этот бдсм запилил который я кидал тебе

tutubalin: вершины ты хранишь в виде чисел, я правильно понимаю?

tutubalin: у тебя был грид, который ты превратил граф. в результате каждая вершина имеет номер и список соседних вершин, правильно?

Default avatar.png gtj: вершины в числах в конечном итоге ага

tutubalin: нумерация вершин начинается с нуля или с единицы?

Default avatar.png gtj: с 1

Default avatar.png gtj: ну мона и с 0 запилить

tutubalin: в каком виде хранишь список соседей?

Default avatar.png gtj: он по сути два раза в граф превращает просто мне обязательно надо было в дерево засунуть эту инфу и иметь бекапчик в виде структуры

Default avatar.png gtj: структура как буфер

tutubalin: зачем?

Default avatar.png gtj: там координаты реальные

tutubalin: а дерево зачем?

tutubalin: дерево - это граф без циклов

tutubalin: а у тебя граф может содержать циклы

Default avatar.png gtj: первый прогон я сканю инпут массив непойми чего и парсю на вершины и реальные координаты записал

Default avatar.png gtj: структуру парсю и соприкасаю вершины записав в дерево

tutubalin: вот надо сперва понять массив чего ты сканишь

Default avatar.png gtj: любой инфы которая в графе бдет

Default avatar.png gtj: дерево у меня имеет номер вершины дерева 1 вершина и к кому пишем

Default avatar.png gtj: к кому пишем вершину то вектор пар

Default avatar.png gtj: массив

Default avatar.png gtj: тоесть 1 1 1 2

Default avatar.png gtj: будет вершина 1 1 2

Default avatar.png gtj: ну вот к примеру

Default avatar.png gtj: 1 6 1 2

Default avatar.png gtj: это будет в первой вершине

Default avatar.png gtj: иззи того что их несколько я храню их в векторе

Default avatar.png gtj: а из йив вектора можно вызывать координаты реальные

Default avatar.png gtj: тоесть 6 в конечном счете будет хранить реальные координаты

Default avatar.png gtj: 1 2

tutubalin: ок, пойдём дальше

tutubalin: что ты передаёшь bfs?

Default avatar.png gtj: просто вертекс откуда идем

tutubalin: начальная точка и конечная точка, так?

Default avatar.png gtj: ну я пока даю 1 вершину

tutubalin: откуда идём не достаточно, нужно ещё и куда идём

Default avatar.png gtj: понял просто во всех примерах со стартом а с финишем у про разборов

tutubalin: если только ты не хочешь узнать кратчайших путь вообще до всех точек

tutubalin: надо отмотать назад

tutubalin: какая задача вообще перед тобой стоит?

tutubalin: точнее, какую задачу должен решать твой алгоритм?

Default avatar.png gtj: вывести для человека информацию понятную что делает алгоритм в консоль куда идет хотябы и где закончил движение

tutubalin: не правильный ответ

tutubalin: что поступает на вход

tutubalin: что получается на выходе

Default avatar.png gtj: вершина

Default avatar.png gtj: перечисление чтоли?

Default avatar.png gtj: но тут ребер

tutubalin: не соскальзывай

tutubalin: на входе лабиринт

Default avatar.png gtj: ну я тебя понял что будет перечисление вершин

tutubalin: на выходе список вершин, ок

tutubalin: чем замечателен этот список вершин?

tutubalin: он замечателен тем, что это кратчайший путь из начальной точки в конечную

Default avatar.png gtj: я тебя кажись понял вижу типо куда шел алгоритм

tutubalin: правильно?

tutubalin: формулировка задачи

tutubalin: input: лабиринт, начальная точка, конечная точка

tutubalin: output: кратчайший путь

Default avatar.png gtj: да это понятно я делаю дебаг разбивая задачи

Default avatar.png gtj: запдачи разбившись привносят больше опыта

Default avatar.png gtj: потом можно собрать что надо и уже понимаешь что происходит

Default avatar.png gtj: я порка на первом этапе

Default avatar.png gtj: смотрю что происходит чтобы потом собрать эти куски алгоритма

Default avatar.png gtj: задачи вернее

Default avatar.png gtj: а тут да сама задача подводит к другому решению

Default avatar.png gtj: тоесть мне больше понятно это

Default avatar.png gtj: http://chat.codingame.com/pastebin/9d5676b0-7d5d-499c-a1e8-48fa79541324

Uljahn: а мне не понятно, что за цикл в конце, откуда curn взялось...

Uljahn: с какого конца queue.remove() достаёт индекс ноды? это будет иметь значение на порядок обхода

Uljahn: блин, у меня какой-то рунглиш попёр :(

Default avatar.png gtj: http://chat.codingame.com/pastebin/9e5dfa05-0487-4e5a-8b12-5d4a4d657e53

Default avatar.png gtj: тут приходилось качать еклипс разбираться он немного паршивит текст

Default avatar.png gtj: но в самом еклипсе все в формате

Default avatar.png gtj: это гайд по сути я писал за гайдоделом

Default avatar.png gtj: ну по тродиции надо линки кинуть сек

Default avatar.png gtj: https://www.youtube.com/watch?v=pyDS_sTSsFo

Default avatar.png gtj: кароче 2 урока за ним писал

Default avatar.png gtj: в глубину и ширину

Uljahn: за такие традиции пора банить

Default avatar.png gtj: нам как он так в вузе обьясни все известные алгоритмы на ++

Default avatar.png gtj: пока ты находился в кабинете было все понятно

Default avatar.png gtj: только покинул кабинет все

Default avatar.png gtj: улетело)

Uljahn: на лабах обычно закрепляют, конспекты пишут, читают методички, учебники

Default avatar.png gtj: конеспетировали это да

Default avatar.png gtj: на лабах не шибко надавят по такому комуто такое давали комуто структуры на рекурсиях

Uljahn: жаль, не было CG в то время

Default avatar.png gtj: мне самое обидно я потерял конспект там монте карло обьясняли

Default avatar.png Denis_Ka_120719: http://chat.codingame.com/pastebin/204a39dd-2cc7-489a-9dbb-f6683f4cd428

Default avatar.png gtj: вот это очень печально

Uljahn: Denis_Ka_120719: угу

Default avatar.png gtj: угу но щас я уже по другому подошел осознанно тогда побоку было это всё

Default avatar.png gtj: ток структуры запомнил боле менее)

Default avatar.png Denis_Ka_120719: а какой язык если не секрет сейчас дают?

Default avatar.png gtj: ее оч долго обьясняли просто)

Uljahn: мне всегда нравилось кодить, я алгоритмы учил для себя, только учился не на кодера

amurushkin: а я вообще в универе не программинг учил :) все самоучка. до сих пор пробелы в знаниях. и в структурах и алгоритмах и в шаблонах проектирования

Default avatar.png gtj: +

Default avatar.png gtj: я тоже не программингом был

Default avatar.png gtj: эфм

Uljahn: ну, шаблоны только кодерам дают, а нам - инженерам - давали численные методы

Default avatar.png gtj: +

Uljahn: эфм?

Default avatar.png gtj: и кодерам не все преподы дают шаблоны считаетсяч что вроде тебе на работе или ты сам дойдешь до них

Default avatar.png gtj: в колледже не все преподы брались за шаблоны в вузе я не вкурсе

Default avatar.png gtj: эвм

Default avatar.png gtj: с++ ну сморя где и как щас хз

Default avatar.png Denis_Ka_120719: @Uljahn матлаб наше все?

Default avatar.png gtj: там же тоже с си++)

Uljahn: матлаб проприетарный слишком, но там замечательный симулинк

Uljahn: так-то и на питоне всё можно делать

Uljahn: или на octave

Default avatar.png gtj: ну как amurushkin чем пользуются тем и пользуешься

Default avatar.png gtj: если матлаб симулинк значит и задачи соотвествующие

Default avatar.png gtj: всмысле amurushkin упоминал о том что команда юзает опр набор софта в зависимости от задач

Uljahn: понятно, что производители софта пытаются пропихнуть свой продукт в образовательную среду, "подсаживают" будущих инженеров

Uljahn: у нас LabVIEW пропихивал NI

Default avatar.png gtj: и не только просто некоторые задачи по ембеду проще сразу в матлабе делать

Default avatar.png gtj: некоторые точно удобно

Uljahn: за удобство всегда приходится платить

Uljahn: деньгами и худшей конфигурируемостью

Default avatar.png gtj: вчера сакутина послушал задумался над этими строками)

Default avatar.png gtj: http://chat.codingame.com/pastebin/f8a332e3-02ee-4d61-900d-b66f976caa56

Default avatar.png gtj: Ульян получается наибольший сосед питону это ява

Uljahn: скорее жс или руби

Default avatar.png gtj: тоже вм тоже все есть тоже мощ

Uljahn: смотря по каким критериям близость определять, вм в питоне вроде нету, есть байткод, есть интерпретатор и GIL. а мощь - за счёт плюсовых либ...

Default avatar.png gtj: плюс я еклипс поставил вижу тут еще ред хет тащит свои наработки

Default avatar.png gtj: в питоне вроде ты работаешь в среде

mykeich: Прочитав чат я так и не понял gtj научился BFS писать?:)

Default avatar.png gtj: эта среда типа уникальна

Default avatar.png gtj: да исследовал я просто завис над 1 моментом

Default avatar.png gtj: я посмотрел ява реализацию понял несколько важных моментов и подвис пока(

Default avatar.png gtj: у меня кривое понимание классов в ++( я деленирую основную работу другому классу(

Default avatar.png gtj: тоесть класса нету у меня

Default avatar.png gtj: обертка для работы другого класса(

tutubalin: он вместо того чтобы bfs писать, опять что-то ставить начал

tutubalin: ему бы в сисадмины

Default avatar.png gtj: нет я углубился в исследования нашел язык где можно прототипировать классы

Default avatar.png gtj: более глубоко и понимать огрехи класс реализаций своих в с++

Default avatar.png gtj: и нашел 1 жирный минус который я тащу из opengl

Default avatar.png gtj: когда в опенжл это отрабатывает в чистом коде так нельзя получается делегат какойто

Default avatar.png gtj: тоесть нет обьекта

Default avatar.png gtj: в обьекте обьект и обьект работает не с собой

Default avatar.png gtj: вот присмотрись внимательно

Default avatar.png gtj: http://chat.codingame.com/pastebin/198cb0f5-2b54-4dd2-ac10-20c8c6e4661f

Uljahn: Automaton2000: где там наша уточка?

Automaton2000: так что не так что есть что

tutubalin: gtj ты не хочешь присматриваться к моему хорошему коду, я не буду присматриваться к твоему плохому

Default avatar.png gtj: я смотрел на твой но писать реализацию очереди это врятли для новичка сначало надо на очереди реализовать ну и тут у меня появилась новая задача

Default avatar.png gtj: щас сделаю еще одно дерево визитёра

Default avatar.png gtj: сделаю ассоциацию с основой откопирую флаги в дерево и посмотрю к чему приведет это

Uljahn: у тебя новые задачи появляются быстрее, чем старые решаются, не? технический долг не давит?

amurushkin: а ты не пробовал псевдокод алгоритма осилить и сделать на каком хочешь языке?

Default avatar.png gtj: amurushkin у меня это все ради кадров

YurkovAS: wlesavo у тебя samegame MC? Юзаю beam search - немного ниже тебя

Default avatar.png gtj: не совсем для решения задачи но и для ее решения тоже

Default avatar.png gtj: я хочу научится хранить кадры в дереве

Uljahn: эйлер вроде про чокудай упоминал, тоже типа beam search с переменной шириной

tutubalin: ты сперва научись доводить дела до конца

amurushkin: 16:14:08) gtj: вчера сакутина послушал задумался над этими строками) вот когда я тебе тоже самое предлагал это не так авторитетно было да?

tutubalin: может его к сакутину в коменты отправить?

Default avatar.png gtj: ты тоде авторитет просто осознал только щас как осенило

amurushkin: YurkovAS: попробуй поиграться с глубиной и шириной. может обгонишь

gybson_samara: а нельзя разве написать что-то типа using std и не указывать больше неймспейс?

YurkovAS: amurushkin с глубиной? Вот игра https://www.codingame.com/replay/481794711

Default avatar.png gtj: я только щас осознал чо я ваще творю в классе как назвал его и какие у него состояния и осознал что это бредятина какаято типо делегата или типо какойто набор методов просто

amurushkin: ну с глубиной поиска

YurkovAS: amurushkin ограничения на глубину нет, только на ширину. или не понимаю как сделать.

amurushkin: или ты до упора идешь

wlesavo: YurkovAS да, чисто MC, но я делаю полный флудфил на каждом ходу по заветам смитси, чтобы не было увеличенной вероятности выбора больших кластероыв

Uljahn: gybson_samara: это наверное как в питоне написать from numpy import *, а потом думать, что за array и empty

YurkovAS: а, там еще на первый ход дают 20сек, поэтому на нем все и расчитывается

amurushkin: там надо все решение сразу? я просто не пробовал ее. только видел как выглядит

Default avatar.png gtj: gybson_samara пока так оставил, тебя понял там есть да пара моментов где юзинг уместен там обьявления итераторов на всю ширину екрана

wlesavo: ну там нет противника, поэтому 50мс на ход не сильно времени добавляют

YurkovAS: wlesavo beam search пока не могу улучшить. может оценочная неочень

amurushkin: кстати в бим серч оценочная не такая простая вещь наверное. если оценивать в середине а не в конце то далеко не все очевидно наверное

YurkovAS: wlesavo а MC - это же рандомный ход выбираем и так повторяем до конца партии. Если эта цепочка оказалась лучшей, тогда сохраняем ее и дальше повторяем. Так же надо делать?

wlesavo: да, все верно

amurushkin: тогда наверняка можно через отжиг сделать еще лучше

gybson_samara: Uljahn ну std то это же std, мы же в питоне не пишем std.list

amurushkin: хотя может и не можно. разве что брать часть пути а остальную рандомить

wlesavo: amurushkin с отжигом мутации не понятно как делать мне

amurushkin: ну вот да пришла мысль только откусить хвост и нарандомить

YurkovAS: amurushkin да, c beam search-ем не просто, т.к. ширина обычно от 500 до 5к состояний. в гиперсонике так и не смог забраться выше 100 места

Uljahn: ппц, МТС блокирует https://www.slideshare.net/chokudai/chokudai-search-23234124

Uljahn: Automaton2000: я буду жаловаться в спортлото!

Automaton2000: ну вот я и говорю

wlesavo: я вот думаю mcts делать или нет особого смысла?

tutubalin: gybson_samara на стековерфлоу очень много копий сломано. но если у тебя проект не в один файлик, то лучше чётко прописывать неймспейсы

Default avatar.png gtj: нет надо писать хидер 1

Default avatar.png gtj: где все приведено в название

Default avatar.png gtj: конектишь хидер

Default avatar.png gtj: и юзаешь обертки

amurushkin: Uljahn: а на китайском то нам зачем ))

Default avatar.png gtj: так кореец делает

YurkovAS: wlesavo у меня был mcts - 10к очков только смог набрать. причем без солвера (с ним падало). перенес один в один на beam search и гораздо лучше

YurkovAS: может ошибка в mcts была

wlesavo: у тебя по любому косяк, у меня больше 7к у меня было просто рандомным выбором хода

wlesavo: а ты кстати делаешь выбор клетки или кластера?

Default avatar.png gtj: http://chat.codingame.com/pastebin/9d40283a-14ee-47f3-8683-3e75ad150e5d

YurkovAS: wlesavo делаю выбором кластера

Uljahn: набил 80% в торе-2, смотрю в дебаге ascii-мультики :)

tutubalin: скоро roguelike напишешь )

Uljahn: со знаком суммы эвклидовых расстояний забавная петрушка, либо не проходит 7 и 10, либо 9 и 10, или где-то баг

tutubalin: в смысле не проходит?

Uljahn: зарядов не хватает, либо с колбасой из последних двух тестов тупит

tutubalin: а зачем там эвклидовы?

Uljahn: чтобы выбегать при равных чебышёвых

tutubalin: у меня кстати тоже 7 и 10 из тестов и 9 и 10 из валидаторов

Default avatar.png gtj: считает расстояние до ближайших точек видимо

Default avatar.png gtj: но там есть трик обычно когда на екране очень много мобов их надо собрать в кучу

Default avatar.png gtj: мобтрейн

Uljahn: кто-то манхеттен предлагал, надо попробовать...

tutubalin: gtj ТАААААК! Пока задачу сам не решишь, никаких советов давать не можешь

BorisZ: Uljahn откуда знак то там у тебя взялся - сумма расстояний всегда положительная

Default avatar.png gtj: ок но я так буду делать когда 50 мобов иду по касательной пока дальние не сблизились с ближайшими

Default avatar.png gtj: когда они близки друг другу массуха

Default avatar.png gtj: в рагнарке даже могу показать эти моменты как это выглядит

BorisZ: не стоит

Uljahn: BorisZ: это я так понял "поближе подхожу по сумме расстояний до всех, если равная сумма - то подальше по евклидовому расстоянию", сделал тупл (сумма чебышёвых, -сумма эвклидовых) и по ней сортирую :)

BorisZ: да, у меня так же

BorisZ: предварительно отфильтровываю те клетки на которые нельзя наступать

Uljahn: это да, есть сет с запрещёнными клетками, которые уже рядом с гигантами

BorisZ: к колбасе он подходит с фланга тогда

Default avatar.png gtj: еще тут что доказывает те состояния тут есть дорожка мобов надо сделать так движением касательной чтобы дорожка мобов сошлась в виде (1 2 3 4 5 6 7 89 ты ) надо чтобы первый подошел или был рядом с 8 9

Default avatar.png gtj: и масуха

Default avatar.png gtj: если идет первый значит двигает второй

Uljahn: ясен пень, что надо - в этом смысл пазла, но как на простой эвристике сделать?

Default avatar.png gtj: двигается

Default avatar.png gtj: я думаю тебе надо иметь тупл расстояний до каждого пока на первом приближении

Uljahn: ты решил его?

Default avatar.png gtj: нет

BorisZ: Uljahn у меня сумма квадратов евклидовых кстати, может поэтому по разному

wlesavo: YurkovAS кстати с другим сидом +10к получилось сразу

BorisZ: я чет про это забыл (

Uljahn: :scream_cat:

YurkovAS: wlesavo сидом? для рандома? юзаю fastrand отсюда https://www.codingame.com/playgrounds/283/sse-avx-vectorization/sseavx-c-frameworks

YurkovAS: constexpr int RND_SEED=8000; static unsigned int g_seed=RND_SEED; inline int fastrand() { g_seed = (214013 * g_seed + 2531011);return (g_seed >> 16) & 0x7FFF;}

Default avatar.png gtj: О_о теперь я видел всё

wlesavo: ну у меня тоже фастранд, чуть подергал циферки

YurkovAS: и проект выкачал локально, настроил запуск валидаторов 1 в 1 как на проде в многопотоке. работает примерно 1.5мин, а результаты как так, очень удобно тестировать.

wlesavo: неплохо, мне чето лень пока заморачиваться

Uljahn: вроде на StC похоже?

Default avatar.png gtj: там де от проца твоего зависит и того какой тут прости плис

Default avatar.png gtj: avx и sse надо понять какая версия тут и у тебя на компе

Default avatar.png gtj: не на компе а cpu какие поддерживает

Default avatar.png gtj: может быть так что тут sse 3 (4)

Uljahn: модели cpu известны же

Default avatar.png gtj: ну это оптимизация посмотри прагмы

Default avatar.png gtj: надо просто скан цпу сделать на налоичие флагов

Default avatar.png gtj: дома всмысле

tutubalin: gtj давай ты будешь учиться, а не учить, ок?

wlesavo: Uljahn да, похоже но сильно проще

Default avatar.png gtj: tutubalin иди в AVX/SSE Extension

Default avatar.png gtj: я не учу я предпологаю потомучто я такое делаю в генте

Default avatar.png gtj: я выставляю те флаги какие поддерживает цпу

tutubalin: gtj все здесь присутствующие знают гораздо больше тебя про AVX, AVX2, AVX512

Default avatar.png gtj: ну ок

Default avatar.png gtj: буду считать что у тебя ссе4

Uljahn: здесь три вида процов одной модели с разной частотой, model name: Intel Core Processor (Haswell, no TSX), flags: ssse3 sse4_1 sse4_2 popcnt aes avx bmi1 avx2 bmi2 и т.д., читается из /proc/cpuinfo

Default avatar.png gtj: угу

Default avatar.png gtj: https://github.com/mgorny/cpuid2cpuflags/blob/master/src/x86.c

tutubalin: Uljahn это может быть один и тот же проц с плавающей частотой

tutubalin: когда AVX2 слишком активно используется, частота падает

Default avatar.png gtj: https://github.com/mgorny/cpuid2cpuflags

amurushkin: tutubalin: я думаю что если бы частота плавала то бот бы тоже плавал в просчетах. а так четко держится на одном уровне. скорее всего разные

tutubalin: ну мы проверяем только при запуске

tutubalin: может так быть, что первый раз засабмитил - попал пока проц "холодный" второй раз засабмитил - он уже "прогрелся" и понизил частоту

tutubalin: вот кстати на SameGame можно отестить. там 20 секунд дают на первый ход

tutubalin: должно быть достаточно, чтобы проц прогреть

Default avatar.png gtj: а если флаги на твоей машине 1 а на таргете где код запускается другие может быть так что расчеты разные если ты на таргете по инструкции или гайду не знаю как еще написать используешь опр оптимизацию имплементруя ту самую оптимизацию на таргете

BorisZ: тут может иметь значение какой проц попался, надо несколько сабмитов делать

BorisZ: в отличие от мультиплеера где всем примерно поровну отсыпается

Default avatar.png gtj: arch=native тогда будет для тебя 1 для таргета другой как минимум

BorisZ: просто зачем знать то на каком проце сейчас исполняется программа?

BorisZ: не будешь же разные схемы для разных процов делать, все одно и то же будет, выход по времени

BorisZ: или я чего-то не понимаю?

Default avatar.png gtj: мне gcc придется ставить проводить исследование тогда чтобы конкретно ответить на вопрос

BorisZ: а от сабмита только конечный скор известен, никакой другой инфы не получишь

Default avatar.png gtj: если у тебя есть возможность запустить код с той страницы

Default avatar.png gtj: запусти проверь значения с той страницей они будут одинаковые?

Default avatar.png gtj: вот надо чтобы 1 в 1 были

Default avatar.png gtj: каждая цифра и все наны

Default avatar.png gtj: потомучто тут советуют тебе опр оптимизацию хоста

Uljahn: сабмит же можно фейлить, если попался неподходящий проц?

Uljahn: вот тебе один бит инфы

BorisZ: ну можно, согласен. Но не фейлить ничем не хуже - спамишь пока дают да и все )

Uljahn: можно узнать статистически распределение подходящих процов)

Default avatar.png gtj: смотри

Default avatar.png gtj: щас прям на примеру спрошу у тебя

Default avatar.png gtj: вот у нас есть код (и такие флаги )

Default avatar.png gtj: CPU_FLAGS_X86: aes avx avx2 f16c fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3

Default avatar.png gtj: а если запустить тот же код без нескольких флагов отсюда

Default avatar.png gtj: вопрос

Default avatar.png gtj: программа одинаково посчитает?

Uljahn: смотря какая программа

BorisZ: я не знаю )

Uljahn: если она не использует эти инструкции, то скорее всего одинаково

Default avatar.png gtj: а инструкции берутся из битов регистров

Uljahn: хотя я тут про процы для смартфонов читал, там вообще с плавающей точкой беда, в угоду бенчмаркам оптимизируют с потерей точночти

Default avatar.png gtj: ну из файлика этой страницы можно привязатся впринципе что натив и что только авикс и забить но мне интересно если тоже самое запустить с другими флагами и проц другой интересно что будет

BorisZ: есть набор прагм которые уже подобраны другими умными людьми специально для КГ - берешь и копируешь, зачем париться?

Uljahn: если интересно - то разберись, почитай мануалы

Default avatar.png gtj: где мне говорили что когда интел делали процы в самом начале наны точно помню где мне говорили отличались и гдето я делал эти сравнения наверно на ассемблере

Uljahn: godbolt?

Default avatar.png gtj: нет когда учился мы делали лабы на асемьлере

Default avatar.png gtj: и гдето я уже видел эти наны и сравнения

Default avatar.png gtj: чтобы считало одинаково

Default avatar.png gtj: или типо у когото в задании совпадало у когото нет

Default avatar.png gtj: давно было какбудто уже не было

Uljahn: удачи в поисках, а я пошёл гигантов дебажить

gybson_samara: первая половина кейсов прям как-то совсем легко

Default avatar.png gtj: кароче проще на асемблере проверить эти флаги

Default avatar.png gtj: потом заморочусь

Default avatar.png gtj: чото находит)

Default avatar.png gtj: http://chat.codingame.com/pastebin/915f4a88-11ca-488e-8fa1-7fc9c0cb19d9

tutubalin: я уже вроде задавал вопрос, но не помню ответ. кубер как-то игнорил мэда. это только через внешний клиент можно сделать?

Default avatar.png gtj: помоги разобраться как искать

Default avatar.png gtj: хотябы на примере массива с ребрами

Default avatar.png gtj: выводит на примере массива с ребрами 11111111112222222222

Default avatar.png gtj: я не понимаю что это такое

Default avatar.png gtj: или такое выводит

Default avatar.png gtj: http://chat.codingame.com/pastebin/b76e1e35-ff75-4fd9-8dc4-21f627586136

tutubalin: вот где код копировали - туда и идите

Default avatar.png gtj: да этот код у всех 1

Default avatar.png gtj: http://chat.codingame.com/pastebin/dabf60f5-6ab3-4ee5-b7f0-516171bf133f

tutubalin: иди у корейца спроси

Default avatar.png gtj: а что хоть это такое я ввел 19

Default avatar.png gtj: граф так выглядит

Default avatar.png gtj: https://imgur.com/a/i1PdlLL

Default avatar.png gtj: мне надо попасть в 33

Default avatar.png gtj: щас попробую на дерево поменять но там тоже самое выводит 11111111122222222

Default avatar.png gtj: он 2 пути чтоль нашел?

Default avatar.png gtj: тоесть 3 маршрута?

Default avatar.png gtj: как вы пользуетесь то этими данными там же только 111111111222222222

Uljahn: так может тебе не бфс, а Дейкстра нужен?

tutubalin: ну хватит уже флудить единичками

Default avatar.png gtj: так разобрался уже просто не понимаю что он выводит

tutubalin: спроси у корейца

Default avatar.png gtj: он выводит если д то единички

Uljahn: спроси у уточки

tutubalin: тебе дали достаточно информации

tutubalin: если ты не способен её переварить, мы тут бессильны

Default avatar.png gtj: f xj nt,t ckj;yj gjlcrfpfnm jxtdblyj ;t xnj jy xnjnj yf[jlbn&

Default avatar.png gtj: а что тебе сложно подсказать очевидно же что он чтото находит

Default avatar.png gtj: щас посчитаю шаги

Default avatar.png gtj: он либо до 15 идет либо я хз

Default avatar.png gtj: единичек 19

Default avatar.png gtj: 2оек 34

Default avatar.png gtj: 1чки получается доходят до 18

Default avatar.png gtj: другого обьяснения я не вижу

Uljahn: за репетиторство тут не платят, люди помогают добровольно кому хотят и когда хотят. если хочешь, чтобы тебе отвечали - не сношай мозги постоянно, копи социальный кредит доверия

amurushkin: tutubalin: игнорить да через внешний клиент можно

tutubalin: amurushkin внешний клиент просит пароль от аккаунта

tutubalin: а я через гитхаб логинюсь

Uljahn: у тебя через соцсеть авторизация?

Uljahn: ага, известная проблема

Uljahn: "You can click on “forget my password”; it will alow you to generate one."

Uljahn: https://www.codingame.com/forum/t/native-login/4978

amurushkin: tutubalin: прийдется задать пароль. через это все проходили

Uljahn: 100% на торе-2! добавил в оценку расстояние до стенки, как в discussion подсказывали

gsomix: Uljahn, какая в итоге стратегия получилась?

BorisZ: поздравляю

gsomix: Грац! :)

BorisZ: третим членом или прибавлял?

Uljahn: ой, у меня такая оценка страшная, попробую свести к минимально рабочей

BorisZ: я тоже пробовал и третьим и складывать со вторым - одинаково шло, не доходило до него видимо )

Uljahn: иду в минимум суммы расстояний чебышёва - расстояние до ближайшего края, если одинаковые значения получились, то в клетку с большей суммой эвклида, вроде как-то так

BorisZ: другая то есть формула получилась у тебя. Доказывает что маловато тесткейсов в задачке -)

Uljahn: ну это же хард, а не вери хард, можно разными путями решать, это хорошо

BorisZ: если хотели подтолкнуть к симе, то спустя рукава делали

Uljahn: не, если бы к симе хотели, то описали бы алгоритм гигантов

gybson_samara: http://chat.codingame.com/pastebin/1eadc72b-bf83-4867-b90c-2513cd892ede

Default avatar.png gtj: а бфс ищет пока не конец того что ищем чтоли?

Default avatar.png gtj: тоесть у меня уловие не правильное чтоли?

Uljahn: для чего же нужен алгоритм поиска? электричество жечь? :thinking:

Default avatar.png gtj: у меня условие было как у всех пока визитер -1

Default avatar.png gtj: по тому что вытащили из очереди

Default avatar.png gtj: кароче я так понимаю вся свистопляска ради прохода по дереву вот тупо щас пройдусь по дереву надоело

Default avatar.png gtj: не работают примеры из инета

Default avatar.png gtj: везде бред какойто

Uljahn: лыжи не едут?)

Default avatar.png gtj: да нет я хотел красиво а придется дерево писать

Default avatar.png gtj: напишу дерево и тупо сделаю чо надоело

Default avatar.png gtj: чо надо

Default avatar.png gtj: не работает нихрена через эту фигню std::map<int, std::vector<std::pair<int, int>>> myNodes;

Default avatar.png gtj: граф есть все связано я его проверил как только можно а как работать с этой конструкцией хз

Default avatar.png gtj: щас еще попробую кое что если не сработает своё дерево напишу

Uljahn: дерево посещений нод или какое?

Default avatar.png gtj: бинарное

Uljahn: :neutral_face:

Default avatar.png gtj: не мапа будет а мое дерево

Default avatar.png gtj: бинарное

Default avatar.png gtj: в каждой ноде будет вся инфа тупо

tutubalin: https://imgflip.com/i/4bh8xq

Uljahn: хд

Default avatar.png gtj: ну как я понял вся идея крутиться вокруг обхода

YurkovAS: wlesavo про какой offline в общем чате говорят? они решили в оффлайне и захардкодили ходы для каждого валидатора?

Default avatar.png gtj: обход у меня такой

Default avatar.png gtj: http://chat.codingame.com/pastebin/269ae728-f3de-45fd-8ec2-9b1e5d80f416

wlesavo: YurkovAS да, валидаторы же известные

wlesavo: https://github.com/acatai/SameGame/blob/master/src/test/java/StandardTestset.txt

Default avatar.png gtj: вот щас если с этим не запашет сделаю обьект дерево с нодами с ссылками напишу методы адд принт и бфс типо того причем я уже писал в ширину обход когда тут был в раздлеле разработок запрос на дерево авл

Default avatar.png gtj: и поиск еще напишу

wlesavo: я офлайн точно не пойду, попробую еще пару подходов онлайн и остановлюсь

YurkovAS: wlesavo понял, спасибо! ну так не интересно)

wlesavo: ну я тож думаю что не спортивно как-то)

Uljahn: :joy:

Default avatar.png gtj: я долбаный неудачник писал бфс а тут не понимаю что происходит

Default avatar.png gtj: заблудился в 3 соснах

YurkovAS: SA тут не затащит? ты же вроде юзал его в number-shifting. игры похожи

Uljahn: у них же контест идёт, все средства хороши

tutubalin: в оптимизации во всех задачках хардкод рулит

tutubalin: Code of the Ring вобще фиг алгоритмизируешь нормально

tutubalin: тем более с такими ограничениями по времени

Uljahn: We will do a small contest on it for fun :medal: Let's see who ranks first by Sunday 8 PM UTC!

Uljahn: это из дискорда

wlesavo: YurkovAS в SA я придумал как правильно мутации запилить, ключ был в том что каждый номер можно подвинуть только один раз

wlesavo: здесь хз, может и можно но пока кажется что не очень перспективно, у смитси мктс солвер неплохо работает

YurkovAS: а у него в онлайне мктс?

wlesavo: да

wlesavo: у него и кови онлайн скор

YurkovAS: а есть еще какие-то детали про мктс реализацию?

wlesavo: хотя он писал что недавно начал офлайн, может уже сабмитил офлайн, но там было около 120к онлайн точно

wlesavo: не, я не слышал

YurkovAS: 120к это хорошо, по стравнению с 30к.

YurkovAS: сейчас, только сделаю МС

wlesavo: у него где-то 80к роллаутов на 15ом кейсе

wlesavo: у меня почти в два раза меньше

wlesavo: но говорят это не особо решает

wlesavo: кови сказал что х2 роллаутов дало 5% всего скора, правда в его случае 5% это 5к, ощутимо таки

wlesavo: тем более близко к насыщению

YurkovAS: могу расшарить, как запускаю локально все тесты. там java unit test, его надо закинуть к рефери и запустить из idea

tutubalin: а в быках и коровах какое ограничение по времени?

wlesavo: tutubalin 1с + 50мс/ход

wlesavo: жесткое достаточно, было бы чуть больше было бы сильно проще

YurkovAS: МС лучше играет, 55к

Default avatar.png gtj: кладу вершину ищу ее в мапе, обращаюсь к вектору пар этой вершины если второй элемент этой вершины векторы пар 1 и надо ити вперед беру 0 индекс второй элемент кладу его в очередь и пишу в путь и вывожу на екран этот гребаный номер кажись так

Uljahn: Automaton2000: вообще-то не так, но пусть будет так

Automaton2000: тупо я нашел что такое граф я вкурсе

Default avatar.png gtj: в секонде стоимость

Default avatar.png gtj: в дереве все стоимости 1

Default avatar.png gtj: в дереве нет нулей

Default avatar.png gtj: в ферсте следующая координата 0 индекс я заметил если иду вперед 1 индекс я заметил если иду назад

Default avatar.png gtj: тоесть если пройтись по вершинам с индексами 0 то тогда я иду вперед в глубину шириной

Default avatar.png gtj: а если надо обратно тогда мне надо идти по первым индексам шириной тоже в глубину но обратно можно даже ерево перевернуть

Uljahn: Automaton2000: быстрее, глубже, ширее

Automaton2000: а то у меня не было

Default avatar.png gtj: тоесть смотри

Default avatar.png gtj: о чем я

Default avatar.png gtj: http://chat.codingame.com/pastebin/c68dea44-ad5f-42c6-99bb-c8b3e01ca350

Default avatar.png gtj: тут уже все сделано это просто вывод дерева последовательно

Default avatar.png gtj: вот я ввел 19 к примеру

Default avatar.png gtj: надо ити всегда по второй числу по верхнему

Default avatar.png gtj: 19 25 и так далее

Default avatar.png gtj: пока не 33

Default avatar.png gtj: во осенило

Default avatar.png gtj: а если обратно можно заморочится перевернуть рут в 33 и идти обратно

Default avatar.png gtj: пока не старт

Default avatar.png gtj: по 1 индексу

Default avatar.png gtj: щас еще разок проверю все пары

Default avatar.png gtj: да логично О_о

Default avatar.png gtj: щас буду пытаться чтоб так работало

Default avatar.png gtj: стопарик можно уже без бфс

Default avatar.png gtj: тупо циклом

Default avatar.png gtj: так вот она идея алгоритма по стенке

Default avatar.png gtj: надо найди 1 любую стенку

Default avatar.png gtj: забавно

Default avatar.png gtj: Automaton2000 давай сделаем рекурсию в дереве и распарсим циклы

Automaton2000: также как и в других играх не было такого

Default avatar.png gtj: http://chat.codingame.com/pastebin/4d3052e3-c260-4e2c-8996-704f6f6411e5

Default avatar.png gtj: http://chat.codingame.com/pastebin/4fa62284-3fe6-4334-95c0-8b86528b780d

Default avatar.png gtj: вот лабиринт из примера the labirinth

Default avatar.png gtj: https://imgur.com/iZM4BRv

Default avatar.png gtj: из 18 точки проходит в легкую до 128

Default avatar.png gtj: http://chat.codingame.com/pastebin/0bae3df3-ab27-49b3-bf78-3364824d6b77

Default avatar.png gtj: Automaton2000 bfs засчитай мне и рекурсивный бфс (две галочки пожалуйсто)

Automaton2000: вк на каждое какое сообщение куда отправляет?

Default avatar.png gtj: бфс жестокое разводилово

Default avatar.png gtj: я верил думал он все пути найдет а оказалось просто обход рекурсы

Default avatar.png gtj: какая разница если есть рекурса рекурса так же обходит это два одинаковых алгоритма

Default avatar.png gtj: оболдеть я протупил неделю

Uljahn: лол

Uljahn: Automaton2000: что такое алгоритм Флойда-Уоршелла

Automaton2000: я не знаю что это

Uljahn: Automaton2000: он тебе все пути найдёт

Automaton2000: у тебя не проверяет то что нужно, она проверяет только то что рядом нет двух одинаковых чисел