Chat:Ru/2020-10-12

From CG community
Revision as of 11:29, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/23956705948685> Uljahn: нулевой чекпоинт как правило ровно посередине между подами в начале гонки,...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

magaiti: я помню как впервые узнал про массивы

magaiti: и запрогал клон soko-ban на бейсике на ДВК

magaiti: на уроках информатики

magaiti: я даже не догадывался что есть что-то эффективнее сортировки пузырьком

**gsomix сел у костра, чтобы послушать рассказы дедушки.

magaiti: да я уж закончил

magaiti: кыш работать

amurushkin: костер потушить забыли :)

magaiti: как твой 2048,

magaiti: ?

magaiti: я так понял там тупо ищешь все решения на какую-то глубину,и берешь N лучших, и повторяешь

magaiti: начал немного кодить

magaiti: https://www.codingame.com/replay/492491856

magaiti: хз что за ритуальные танцы

amurushkin: magaiti: да вот больше 8 лямов пока не смог

magaiti: в 600 ходов упираешься?

amurushkin: мне кажется что нужна какая то оценочная а не просто счет. хотя у других вроде получается

amurushkin: нет сейчас в 600 не упираюсь. просто оно проигрывает

amurushkin: вывожу сразу по 20 ходов. если делать меньше то способно пройти дальше но тогда упираюсь в 600 ходов

magaiti: ну чем больше счет, тем больше свободного места должно быть

magaiti: можно еще как-то упорядоченность учитывать

magaiti: что самый большой номер в углу

amurushkin: ну да у меня есть оценка с учетом свободных клеток

amurushkin: вот тоже пришла мысль как то это учесть чтобы номер в угол пихать. пока не попробовал

wlesavo: amurushkin так у тебя не змейка оценочная чтоли? тогда ясно почему 8 лямов всего

amurushkin: пока еще на векторах у меня

amurushkin: wlesavo: что за змейка?

magaiti: цепочка чисел

wlesavo: суммирование всех цифр по змейке с дискаунтом

wlesavo: счет можно вообще не учитывать он не нформативный особо

magaiti: что за дискаунт?

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

wlesavo: ну каждый следуюющий *0.9

magaiti: аа

amurushkin: у меня как бы не то чтобы счет а разница сколько он набрал от начала поиска

magaiti: ну все щас порвем борду

amurushkin: wlesavo: у тебя змейка по спирали?

wlesavo: нет, по рядам

amurushkin: а спираль пробовал?

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

magaiti: да вроде можно вниз вообще не ходить, и змейку сверху считать

wlesavo: ну я так и делаю, отрезать действие вниз дало буст + 10 лямов

amurushkin: я не играл поэтому для меня это не очевидные вещи

wlesavo: а, ну тогда да

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

amurushkin: у меня полюбому такая какой ниукого нет ))

wlesavo: ну это да

wlesavo: а тут просто и эффективно получается

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

magaiti: змейку от угла считать, или неважно?

magaiti: ну разберемся там

wlesavo: от угла

magaiti: мм, спасибо

wlesavo: самое большое в углу должно быть ж

magaiti: то есть другие варианты заведемо проигрышные

wlesavo: ну я думаю можно что-то добавить в оценку, но из того что я пробовал ничего не улучшало

magaiti: ну от угла змейку можно по горизонтали и вертикали считать

magaiti: но тогда надо 4 хода

amurushkin: а дисконт у тебя как 0,9 0,8 и так далее или каждое следующее на 0,9 умножаешь?

magaiti: я думаю в ячейке можно хранить степень двойки, так доска меньше места будет занимать

magaiti: 0 - пустая, 1 - 2 итд

magaiti: 16 байт хватит на доску

amurushkin: а надо ли?

magaiti: ну хз

magaiti: может быстродействие быстрее

wlesavo: каждое следующее на 0.9^i

amurushkin: барабанная дробь :)

wlesavo: ну или там другой коэффициент даже

amurushkin: сейчас гляну сколько наберу без изменений глубины и остального

amurushkin: 13380748 только 1 затаймил

wlesavo: во, норм, еще с глубиной поиграть и 17 легко будет

wlesavo: дальше думать надо

magaiti: оптимизировать не помогает?

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

magaiti: может мало плохих цепочек просто

magaiti: 2%

amurushkin: у меня когда глубина больше 27 начинает выдавать невалидные ходы. забавно

magaiti: где-то косяк у тебя значит

magaiti: глубина 27 это как? 3 спуска по 9?

magaiti: прям все рассказали

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

magaiti: может у тебя инты в борде переполняются?

amurushkin: чаще всего в половину

amurushkin: кстати это идея. надо попробовать на лонг действительно

magaiti: хотя 17 лямов не должно еще

amurushkin: 17 лямов это сумма за все тесты

magaiti: ну да, но в инт 2 миллиарда влезает

magaiti: хм, а может в рефери баг когда больше 27 выводишь?

amurushkin: да не там на самом деле я вывожу меньше. это или совпадения или это влияет как то на мой алгоритм

amurushkin: а так то на 1 ходу около 400 выводится и норм

magaiti: а там можно как-то абузить что на 1-й ход секунда дается?

amurushkin: конечно

magaiti: нагенерить на 20 ходов вперед

wlesavo: magaiti рефери до 10к символов норм отрабавтывает, дальше крашится

amurushkin: я на 1 ходу 400 ходов вывожу

wlesavo: ну не крашится, но таймит

wlesavo: но инт чтобы переполнился не знаю что надо сделать, миллион очков на борду это всеголишь 65к макс число

amurushkin: я никак не поймаю чтобы 100% было ))

wlesavo: тогда надо ловить баг а не сабмит))

amurushkin: так то все норм в ide

magaiti: невалидные ходы - это не норм

wlesavo: то что на глубине 27 невалидные сыпятся это симптом уже хороший

amurushkin: для сида long long же должно хватать?

wlesavo: да

amurushkin: в иде все теже тесты норм играют. а при сабмите рандомно какой то падает

magaiti: seed = seed * seed % 50515093L;

magaiti: по идее и инта хватит

wlesavo: не, инт переполняется

magaiti: а

magaiti: модуль

wlesavo: там сначала умножение делается в инт

magaiti: модуль ломается пр ипереполнении

magaiti: ясно

magaiti: хз, если на плюсах, лучше нормальные человеческие типы исппользовать. int64_t, uint64_t

magaiti: long long это для сишников

magaiti: как англоязычные товарищи код читают, интересно

magaiti: длинное-предлинное беззнаковое целое

magaiti: зерно

amurushkin: но разницы то нет по идее?

magaiti: ну типа как у них мозг не взрывается на родном языке кодит

magaiti: ь

magaiti: загугли 1С код

magaiti: https://1c-bezproblem.ru/images/Blog/download/ColorCode1c/colorCode.jpg

magaiti: бррр

Uljahn: ещё пролог есть)

magaiti: а пролог то чего

amurushkin: в этом плане да. я еще с паскаля понял что им тяжело

amurushkin: наконец то 100% поймал и с хорошим счетом 17396376

amurushkin: и это упирается в лимит ходов. есть еще куда развернуться

magaiti: ты в том плане что begin в 5 раз длиннее чем фигурная скобка?

magaiti: КонецПроцедуры

amurushkin: ну да так то там тоже по сути как в 1с для англичан

magaiti: 17 лямов, как предсказано

amurushkin: ага видать с правильной оценочной не так уж и сложно сюда попасть

amurushkin: уменьшил еще ширину луча

amurushkin: и на векторах даже

magaiti: https://www-users.cs.york.ac.uk/susan/joke/foot.htm

magaiti: вектора вроде в цг раза в 3 медленнее чем нативные массивы

magaiti: но это неточно

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

magaiti: лол

magaiti: а раньше что юзал

magaiti: я всегда с них начинаю

magaiti: потом можно оптимизировать

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

wlesavo: у меня вектора ассоциируются с питоновскими списками, и пожтому как-то сразу хочется их избегать

magaiti: вектора это те же массивы, просто со встроенным счетчиком размера

magaiti: но из-за того что цг компилирует с ключом -g они не оптимизируются как надо

amurushkin: вот я раньше так и юзал массив и счетчик количества в нем

magaiti: небось еще релоцировал вручную?

magaiti: хотя обычно максимальный размер известен заранее

amurushkin: нет массив не релоцировал. брал побольше

amurushkin: подскажи по векторам. pool.erase(pool.begin(),pool.begin()+curpoolsize); или pool.erase(pool.begin(),pool.begin()+curpoolsize - 1);

amurushkin: как правильнее удалить первые curpoolsize элементов. -1 надо или нет

magaiti: второй индекс всегда за конец интервала

magaiti: -1 не надо

magaiti: reserve() испольуешь?

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

magaiti: чтоб избежать релокаций

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

magaiti: нет

magaiti: под это отдельный метод есть, но он только быстродействие понизит, если памяти хватает

magaiti: shrink_to_fit()

amurushkin: я просто боюсь чтобы без -1 он не удалил следующий который мне нужен. :)

magaiti: интервал в STL всегда так указывается

magaiti: на первый и следующий за последним

magaiti: так арифметика упрощается

magaiti: не надо -1 делать

magaiti: а зачем ты начало массива вырезаешь?

magaiti: это неэффективно

amurushkin: мне надо убрать отработанные позиции и оставить производные от них

magaiti: может лучше производные сразу в другой массив пихать?

magaiti: потом посвапать

magaiti: массивы

magaiti: swap(pool,newPool)

magaiti: там в головах вектора указатель на тело свапается, это быстро

magaiti: или pool = std::move(newPool)

amurushkin: надо попробовать. он так долго удаляет да?

magaiti: если удалять с конца массива, то это просто resize, иначе все элементы что за удаляемым интервалом, придется перемещать

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

magaiti: то есть если у тебя 1000 размер, и ты удалил 10 вначале, то 990 придется смещать на 10

magaiti: позицию выяснил?

amurushkin: ага попробую в новый писать. clear по идее быстро же?

amurushkin: да позицию то я вижу на экране

magaiti: clear это resize(0) по идее

magaiti: но он обычно не нужен

magaiti: если у тебя у элементов массива есть деструктор, то небыстро, но быстрых вариантов с деструктором нет

amurushkin: ну мне чтобы не создавать все время вектор нужно будет 2 имет и один очищать

magaiti: ну тогда да

amurushkin: забавная фигня у меня. он несколько сотен ходов играет с pool.size() 0

magaiti: как так

magaiti: откуда ходы берет:

magaiti: из воздуха?

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

magaiti: ну вот и косяк

amurushkin: но играет долго пока видать не наткнется когда его реально уже нет

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

amurushkin: кстати добавлять в вектор как лучше? я pool.emplace_back(newgs); юзаю

magaiti: чтоб этот баг ловить, испольуй метод at() вместо квадратных скобок

magaiti: он бросает если за границами пытаешься брать

amurushkin: может всетаки erase -1 надо?

magaiti: нет

amurushkin: с -1 всегда одно есть в пуле :)

magaiti: я вообще в шоке что человек из топ-10 гонок такие проблемы испытывает с векторами

amurushkin: да я же плюсы учить начал на CG только ))

magaiti: но это не то решение, которое ты ищешь?

amurushkin: и вектора не юзал еще ниразу

amurushkin: оно возможно просто не самое лучшее. так хуже играет ))

amurushkin: сука какие то чудеса

magaiti: если пул пустой, значит не все решения нахдишь

magaiti: или там правда все игры кончаются

amurushkin: там может быть конец игры я текущую глубину убил а дальше нет. думаю в этом дело

magaiti: ну из пустого набора можно глубоко бим серчем искать

magaiti: быстро, эффективно

magaiti: нужно бим серч с возвратом делать

magaiti: но тогда придется хранить больше решений

amurushkin: забавно что с этим багом набирает в 3 раза больше очков но таймит на 20к+ ходах

magaiti: странно, что он вообще может счет улучшить

amurushkin: та да

amurushkin: хотя может и не странно. смотри что получается

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

magaiti: а как он может быть лучший?

magaiti: почему ты удалил лучшее решение?

amurushkin: да так и есть. сделал не сортировать в этом случае и идет дальше

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

magaiti: но как-то ты должен обрезать ширину дерева

magaiti: по эвристике

magaiti: N лучших

magaiti: каждые К ходов. или у тебя не так?

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

magaiti: ну если считаешь что это твое ноу-хау, можешь не рассказывать)

amurushkin: да так. обрезаю ширину

magaiti: а 0 как получается?

magaiti: единственный вариант это если все поля заполнились

magaiti: как он после этого играет то

amurushkin: там просто смотри что выходит. я у стейта храню не все ходы. а N первых которые вывожу потом. получается что где то там дальше у меня может быть K стейтов у которых кончились ходы. и не факт что их конечная оценка это лучшее решение среди этих первых N ходов

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

amurushkin: как минимум на одном сиде это дает в 3 раза больше счет

magaiti: ну тогда я не понимаю, что значит "без сортировки"

magaiti: оценочную же ты как-то используешь

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

wlesavo: кстати ощущение такое что глубина не очень нужна, у меня сейчас всего 7 глубина, и я по сути упираюсь в 600. так что при очень хорошем поиске вероятно хватило бы глубины 8-9

magaiti: ну там уже суть не в 600 упереться а счет набрать

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

magaiti: как в тетрисе копить строки под палку

magaiti: ахз

magaiti: я никак

magaiti: я еще не сабмитил

amurushkin: да я у wlesavo же спрашиваю

magaiti: а

magaiti: не уследил за иконками

wlesavo: magaiti не, смотри, тут два стула, либо ты не находишь хорошее решение и проигрываешь, либо находишь хорошее решение и не прогирываешь, тогда количество очков определяется только тем как быстро ты ищешь это хорошее решение

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

magaiti: но не все решения на глубине 600 дают одинаковое кол-во очков

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

wlesavo: amurushkin глубина 7 это значит что я ищу на глубину 7, и выбираю одно действие, считаю его состоявшимсся и заново ищу действие на глубину 7

amurushkin: да конечно не все

magaiti: тебе в любом случае придется слить Ё600 чисел

magaiti: ~600

amurushkin: а т.е ты за ход выводишь все таки больше чем 7.

wlesavo: magaiti при одинаковом количестве действий ты +- набираешь одинаковое количество очков

magaiti: ок

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

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

magaiti: а, там 600 инпутов по сколько осилишь ходов?

magaiti: то есть 20к ходов можно

magaiti: если по 30 за ход

amurushkin: да так и есть

amurushkin: вроде как у лидеров по 50к ходов и больше

magaiti: там точно переполнния не будет?

amurushkin: ну я еще ниразу не видел цифру больше чем 32к в одной клетке

magaiti: угу

amurushkin: как там у топов получается хз

wlesavo: не, там далековато, у меня 65k макс число, у них 131k, до 262 не уверен что кто-то оходит, может топ 1 на некоторых тестах только

wlesavo: 3 ляма очков на тест не так уж и много

wlesavo: по крайней мере до идельного скора там очень далеко

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

wlesavo: да

magaiti: да

wlesavo: иначе по несколько действий за ход нельзя бы было вывести

magaiti: кто-то хардкодит говорят

amurushkin: да только его можно обогнать и без хардкоа

wlesavo: вестиклс хардкодит

magaiti: ну это пока он идеальное решение не нашел

amurushkin: может конечно он через пару недель выдаст что получше

amurushkin: идеальное решение это наверное 10к по 600

amurushkin: больше ходов просто нельзя

magaiti: идеальное это сколько сможешь впихнуть в 100к символов кода

wlesavo: а, он все, сдался

wlesavo: перешел на онлайн

magaiti: 2к на распаковщик и 98к на архив

magaiti: и в оффлайне искать решение каким-то образом

magaiti: задолбался сабмитить?

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

wlesavo: думал он +10М на хардкоде получил

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

magaiti: я тут про сортировку Бабушкина вспомнил, в связи с хардкодом идеального решения

magaiti: http://lurkmore.to/%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9_%D0%91%D0%B0%D0%B1%D1%83%D1%88%D0%BA%D0%B8%D0%BD

magaiti: перекликается с этим кстати

magaiti: https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B7%D0%B0%D0%BA%D0%BE%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE

wlesavo: золотая классика про бабушкина конечно

amurushkin: это тот который антивирь на батнике придумал и получил бабло от депутата?

amurushkin: 19503260 правда 96% зараза ))

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

amurushkin: там тебе вроде не дают доступ туда?

Uljahn: на чтение дают вроде

Uljahn: папки я читал, правда файлы не пробовал

amurushkin: в песочнице же запускают решение

amurushkin: а кто сколько мс юзает на 2048?

wlesavo: 45

wlesavo: о, вестиклс меня обощел на том же алгоритме

wlesavo: змейка с брутом на глубину 7

wlesavo: правда говорил у него 6, но мож поменял

Uljahn: во, прочитал из /usr/lib/gcc/x86_64-linux-gnu/9/libgfortran.spec

    1. This spec file is read by gfortran when linking.# It is used to specify the libraries we need to link in, in the right# order...

Uljahn: т.е. на чтение доступ есть

amurushkin: о 20087136

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

magaiti: производительность труда растет

magaiti: хм, а зачем нужен множитель 0.9 в змейке?

magaiti: чем 1.0 хуже?

wlesavo: ну так чтобы порядок был выгоден

magaiti: я думал змейка по определению по порядку

magaiti: или мы тупо выбираем угол и считаем 4 туда 4 сюда

wlesavo: ну ты суммируешь по порядку, если с коэффициентом 1 то сумма одинаковая будет при любом порядке

magaiti: идея понятна

wlesavo: правда у меня там не 0.9 а чтото ближе к 0.5, давно подбирал надо бы перепроверить

magaiti: 0.5^i это как-то жестоко

wlesavo: ну большая часть клеток фиксирована и вариация там не такая уж и большая, но почемуто лучше работает меньший коэффициент у меня

magaiti: ну 0.5 считать легче

magaiti: сдвигом

wlesavo: не, дело не в скорости, от коэффициента вариация +- 5 лямов

amurushkin: magaiti: я думал змейка по определению по порядку, без дисконта сумма же всегда одинаковая при перестановках

magaiti: я думал мы перестаем считать если не по порядку следующее число

amurushkin: всегда по порядку то оно не бывает

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

Uljahn: подскажите по 2к48, там сид, который фигурирует в названиях тесткейсов, в инпутах не появляется что ли?

wlesavo: на первом инпуте только, дальше уже текуший сид

Uljahn: такое подозрение, что в инпутах уже сид после одного шага LCG

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

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

Uljahn: у меня не совпадает вывод инпута и название кейса на питоне :/

Uljahn: ладно, фигня

wlesavo: но в принципе логично что он мог сделать один два спавна тайлов на доску с того же сида, чтобы отдельно доску не генерить

Uljahn: ааа, ну да

amurushkin: Uljahn: я не проверял на соответствие. главное чтобы совпадало с рассчетами

amurushkin: уже погулял сходил а сабмитить не дают )))

wlesavo: я инпуты дальше первого не считываю, но предупреждение это каждый раз напрягает конечно

amurushkin: ну как вариант

wlesavo: запустил локально брутфорс на глубину 10, посмотрим куда дойдет

amurushkin: с тем же лимитом времени?

YurkovAS: amurushkin хороший результат в 2048 :thumbsup:

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

YurkovAS: бим серч?

wlesavo: amurushkin не, лимит убрал, хочу теоретический предел посмотреть, но вроде как большой разницы между 7 и 10 не наблюдается, правда это еще и 3 мува

YurkovAS: эх, что-то интересное пропустил: змейки, дисконты 0.5. у меня с дисконтами плохо играло...

wlesavo: YurkovAS так у тебя тоже чтоли без змейки оценочная

wlesavo: глубина 9 с бесконечным запасом времени играет также как глуубина 7, вот это да

YurkovAS: да, без змеек, ну может дойдет, нет, так завтра в логах прочту.

amurushkin: YurkovAS: да бим серч

amurushkin: YurkovAS дисконты у меня меньше чем 0.9 плохи

wlesavo: о, YurkovAS оценочную чтоли поменяо?

YurkovAS: wlesavo да, поменял на змейку

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

YurkovAS: ну в общем у топов бим серч локально уже показывает 50м

wlesavo: глубина 10 и глубина 7 со змейкой по сути эквивалентны, забавно

wlesavo: локально на одном тесте или на всех?

YurkovAS: на всех. во, сабмитнул на 48.9

YurkovAS: хз, это быстрый или нет. ну буду рисковать, а то забанят

wlesavo: хорош

wlesavo: ну вообще похоже что я где то на пределе для своей глубины дальше уже надо чето нормальное использовать

YurkovAS: у тебя память динамически выделяется?

YurkovAS: а, хотя, там стек, же. в брутфорсе

YurkovAS: оффлайн пробовал? на 50-100 ходов, вдруг заметно добавят?

magaiti: о, 53к набрал

magaiti: глубина 1

magaiti: :)

YurkovAS: :thumbsup:

amurushkin: я тебя разочарую можно набрать не меньше если выводить все время DRUL ))

magaiti: ну я развил класс

magaiti: теперь можно алгоритмом заняться

magaiti: чет не врубаюсь, как именно клетки сливаются

magaiti: слившаяся клетка не может слиться снова в тот же ход?

YurkovAS: да

YurkovAS: в которую слил, больше в нее нельзя

magaiti: но можно слившуюся снова в другую

magaiti: во, вроде больше нет инвалид мувов

magaiti: а ворнинг этот все время будет?

magaiti: Warning: your code did not read all available input before printing an instruction, your outputs will not be synchronized with the game's turns and unexpected behaviour may occur.

magaiti: это когда больше 1 мува выводишь?

magaiti: а нет, еще сть инвалид акшоны . да что ж такое

amurushkin: да будет

magaiti: а че всего 39 человек играет, лол

magaiti: о, можно heapify через pop_heap ркализовать

magaiti: а я и не подумал

MadKnight: чё, ещё кто тусит тут?