Chat:Ru/2020-10-20
wlesavo: http://chat.codingame.com/pastebin/34fd9056-84b4-4e67-bf98-28ccdedcdb23
wlesavo: блин
wlesavo: magaiti ну тут за два часа понятно что последнюю может не решишь, но первые 4 вполне реально. у меня просто проблема в реализации, я сделаю вроде нормально, но не работает и не понятно подход кривой или руки
wlesavo: у кодджема того же конечно гораздо более реалистичные задания в первых двух турах, 4 задачи всего вполне решаемых, и начисление баллов в 3 этапа, за примитивные тесты, за что-то типа граничных случаев и за стресс тест
wlesavo: и без стресс теста в приципе большинство задач решаемы для среднего участника
wlesavo: ну и в любом случае тут же не на победу, а просто интересные задачки порешать
wlesavo: а и в кодджеме вроде что-то ближе к 4м часам
amurushkin: в кодджеме тоже 2 часа было раньше. 4 то в финале наверное
wlesavo: а, может путаю
wlesavo: но мне как-то времени казалось что больше, может потому что задач меньше
amurushkin: там просто задачи разной сложности. и 1-2 получалось у меня обычно всегда решить
amurushkin: но это было еще больше 10 лет назад
wlesavo: ну да, и иногда еще можно первые тесты в 3-4 успеть, но это в первых этапах, на предфинальных там уже халявных задач нет вроде
wlesavo: ого
wlesavo: 10 лет
Uljahn: а я 26 лет назад первый раз участвовал в спортивном программировании - в городской олимпиаде по информатике :older_man: :smiley:
amurushkin: я первые 3 года как он появился участвовал. вроде с 2007 по 2009 год примерно
amurushkin: оо ну школьные олимпиады это вообще топчик был для меня
amurushkin: правда не понимаю почему учителя не давали знания по алгоритмам для олимпиадников. если бы меня научили типовым задачам я уверен что смог бы намного больших результатов добиться
amurushkin: а так только городские выиграть мог а в области уже все
wlesavo: amurushkin вероятно школьные учителя многие сами не шарили. а так я только на физику с математикой ходил, хотя паскаль знал и мог бы наверное на програмирование тож попробовать
Uljahn: за день до олимпиады училка дала книжку "100 задач по информатике" или типа того, я её пролистал и запомнил флудфил, который и попался в одном задании, т.к. его никто больше не решил, я в итоге 2 место занял :relieved:
Uljahn: на бейсике закодил на PS/2
wlesavo: мой первый флудфил был в этом году :grinning:
magaiti: я участвовал в олимпиаде по информатике 1 раз, в школе
magaiti: а так на математические ездил каждый год
735487: wlesavo: мои олимпиады были физика, математика и информатика
magaiti: на информатике жесть была, бейсик на двк, никакого интернета
magaiti: причем я еще время потратил на дебаг, в итоге оказалось что баг в интерпретаторе
wlesavo: на республику по математике ездил регулярно, но так ничего и не взял, а по физике со скрипом один раз на диплом третьей степени пролез
735487: ну без интернета это да и компы с дискетками
magaiti: на физику тоже ездил
magaiti: вспомнил как расстояние от точки до прямой искал
735487: я что по физике что по информатике дальше области не проходил
magaiti: мой лучший результат - на региональной 3-е место поматематике
magaiti: но в итоге в универ пошел на физику
magaiti: смутили
wlesavo: magaiti какой факультет кстати
magaiti: мфти, фопф
wlesavo: ну про физтех то я помню, а я с проблем, почти коллега считай :slight_smile:
magaiti: дела давно минувших дней
magaiti: 2048 забросили, или кто-то еще ищет как увеличить счет?
wlesavo: я хочу для своего лучшего решения проверить разные змейки и брошу наверное
magaiti: никто дыбдра не подловил в темной аллее?
wlesavo: не, но очень хочется его послушать. врядли расскажет конечно, но может попозже намекнет хоть
magaiti: я тут думал кроме змейки сделать отсечку ррешений по условиям
wlesavo: в этом смысле контесты лучше, что там хоть пмы потом есть
735487: magaiti: 2048 почти забросил. иногда пытаюсь сабмитнуть а вдруг прокнет ))
magaiti: типа если вниз не ходим, и занято 4 верхних ячейки, то они по порядку должны быть
magaiti: если занято еще и следующая строка, то в ней все числа должны быть не больше чем в верху
magaiti: а в двух нижних числа не больше 1024
735487: я пробовал разные оценки эксперементировал. но не поймал жар птицу пока еще ))
magaiti: и в большинстве тестов за несколько секунд выходил на 1.7 счет, используя A* (эвристика змейка), и отбрасывая решения, которые по условиям не подходят
magaiti: но новых н нашел
magaiti: A* либо быстро находит решение, либо есть всю памят
magaiti: ь
magaiti: и тогда неясно, есть что-то там еще или нет
magaiti: 65536, 32768, 16384, 8192, 512, 128, 2048, 4096, 64, 32, 256, 1024, 16, 8, 4, 4,
65536, 32768, 16384, 8192, 512, 128, 2048, 4096, 64, 32, 256, 1024, 4, 4, 8, 16,
magaiti: вот например
magaiti: это 2 позиции в 16-м тесте, которые могут быт ьрешением
magaiti: а могут и не быть, пока неясно
magaiti: но остальные не прошли тестов обратной симы
magaiti: перебирал все комбинации чисел, фиксировал первые 6 (65к до 4096)
magaiti: пока не нашел решения как в эту позицию прийти с начальной (и можно ли вообще), но 300 ходов назад обратная сима делает
735487: ну если ты начинаешь с конкретной позиции может их пытаться решить не обратной симой? там вроде не так много ходов
magaiti: ходов много
735487: а ты не знаешь можно ли в нее попасть
magaiti: можно попытаться, но это в любом случае на несколько часов запускать
magaiti: да, не знаю как попасть
magaiti: считать с конца до 1-го хода не хватает памяти, как и с 1-го до конца, если не лучом, а вс решения смотреть
magaiti: нужно что-то придумыввать
magaiti: но это 300 ходов назад без испольования хода вниз
magaiti: и опять же, пока минимум 6 чисел фиксировал, то есть перебирал все перестановки 10 чисел
735487: а может надо с ходом вниз?
magaiti: с ходом дольше
magaiti: надо выбирать чем жертвовать
735487: у меня в 5 тесте только с ходом вниз находит решение
magaiti: такое может быть
magaiti: я использовал обратную симу с ходом вниз, находил 100к позиций разных, а потом лучем попадал в одну из них
magaiti: а в остальных тестах не попадаю лучом
magaiti: луч с начальной позиции без хода вниз
magaiti: тут проблема в том, что в 5-м тесте 8 чисел сверху упорядочены
magaiti: а в остальных тестах максимум 6
magaiti: для 8 я тестировал с ходом вниз, нет решений
magaiti: может быть нужен луч сильно шире, но тогда вренени не хватит
735487: забавно что дбдр как я понял довольно быстро такой счет взял. т.е он что то знает
magaiti: он же монстр цг, наверняка кучу алгоритмов знает на все случаи
MadKnight: если он монстр то он наверняка сразу прикинул как лучше всего сделать
magaiti: я уже думаю хотя бы в офлайне найти решение, и потом захардкодить
magaiti: лучше всего конечно найти максимально короткое решение от позиции до которой можно лучом дойти
magaiti: наверняка сразу прикинул
magaiti: можно предположить что случайно наткнулся, но учитывая что он в топе во многих задачках, выглядит подозрительно
magaiti: совпадение? не думаю
735487: у меня 2 теста первые 30-40к ходов хардкодом. давно сделал :)
735487: я просто взял тесты которые в 600 упирались и их типа продолжил. 6 и 8 так попались у меня
wlesavo: ну дбдр монстр конечно
magaiti: у меня по идее детерминировано все, кроме одной точки. но ее тоже можно детерминировать
magaiti: точка где кончается первая секунда
magaiti: вместо отступа на 50 позиций, можно брать фиксированную скажем 10000-ю
magaiti: обычно 15000 успевает за 1-й ход просчитать у меня
magaiti: потом я считаю луч до конца, или до стыковки с обратной симой
magaiti: после обратной симы запускаю еще луч
magaiti: и все это потом в буфер
magaiti: потом сижу, делаю вид что считаю
735487: а у меня вроде бы тоже детерминировано но зависит от скорости проца походу :)
magaiti: не, у меня просто начинает с того места где заончил
magaiti: каждый ход
magaiti: луч не отбрасывает, хранит все
magaiti: а выводит из буфера то, что за 1-й ход нашел
735487: у меня была мысль не чистить весь пул, а оставить те которые начинаются на те ходы что я вывожу. надо попробовать насколько это замедлит и что вообще даст
magaiti: достаточно 600 ходов вперед сделать, выбрать одного и сохранить.
magaiti: если плохо получится, выбрать другое число. захардкодить можно
magaiti: для каждого теста
magaiti: хотя бы по 1 символу выводить хватит, а остальное когда дорешаешь луч
735487: ну у тебя просто другой подход
Uljahn: а в офлайне вы нашли решения?
magaiti: неа
magaiti: если б нашли, можно было б захардкодить банально
Uljahn: ну да
magaiti: пара решений всего нужно чтоб дыбдра догнать
735487: у меня хардкодом 2 теста с трудом влезли.но я придумал что можно сжать хорошо. там почти любые 6 символов встречаютс от 50 до 400 раз.
735487: осталось только найти решение :)
magaiti: просто поищи алгоритмы сжатия, с упором на простоту распаковщика
magaiti: lz77 или что-то такое
735487: да было бы что паковать ))
MadKnight: magaiti я почитал твой линк
735487: не ну можно конечно эти 5 тестов чтобы не рандомили
735487: но вообще как я сам придумал взять все встречающиеся комбинации по 6 символов в одну мапу. и тогде решение будет набор цифр индексов из нее
magaiti: всего в 6 раз сжатие?
magaiti: и каждый индекс по 6 цифр ? :)
735487: ну я не считал сколько их всего будет :)
735487: но если ужать в 6 раз мне как раз хватит для 6 тестов ))
magaiti: ну тв можешь в 2 бита ужатьход, это 3 хода на символ сразу
magaiti: но лучше сжимать самопальным алгоритмом
magaiti: задать параметры что у нас не байты, а 4 хода всего, там сжатие в десяткти будет думаю
735487: дело же не в этом. нужно сначала найти решение которое сжимать надо ))
magaiti: https://algor.skyparadise.org/read/14
magaiti: вот прям код на пару страний
magaiti: ц*
Uljahn: import zlib :relieved:
magaiti: ну тоже вариант
magaiti: но имея код мы можем его затюнить как нам надо
magaiti: хотя, zlib ведь умеет сжимать в строку, которую можно в код засунуть:? или только питон так умеет
magaiti: decode кстати там в 10 строк, включая определение структуры данных
MadKnight: magaiti насчёт поиска пути: в общем идея была в том чтобы декларативно задать общую идею поиска пути, ну или общий алгоритм, а потом *отдельно* от этого закодить конкретную оптимизированную реализацию, причём чтобы компилятор проверял, не забагована ли реализация
magaiti: разные оптимизированные алгоритмы поиска пути, как правило, между собой не имеют ничего общего
magaiti: какой смысл их задавать декларативно
magaiti: https://stackoverflow.com/questions/180947/base64-decode-snippet-in-c
magaiti: вот варианты как в/из base64 кодировать
magaiti: ну то есть декларативно задать идею поиска - это просто задать интерфейс, набор задач, которые нужно реализовать
magaiti: а общий алгоритм - это бессмысленно
MadKnight: а, ты не понял
magaiti: и ссылка вообще была не про поиск, а про статический полиморфизм и модульность
MadKnight: разные алгоритмы поиска пути / конкретная реализация конкретного алгоритма под конкретное приложение
MadKnight: да да я знаю о чём была ссылка
MadKnight: не, декларативно задать поиск пути - это интереснее
magaiti: нет, я не понял . в чем плюсы по сравнению с заданием интерфейса (списка методов), и их реализацией
magaiti: ты хочешь сделать абстракцию, слой, где с одной стороны - задачи поиска, а с другой геттер топологии
magaiti: ну так можно
magaiti: но мне кажется, для разных конкретных вариантов топологии могут существовать более оптимальные конкретные решения
wlesavo: Automaton2000
magaiti: помре
magaiti: обрел самосознаеие и ушел в обдумывание плана захвата мира
magaiti: typedef struct { int k; int l; int a[2]; } T; typedef struct { int i; T t; } S; T x = {.l = 43, .k = 42, .a[1] = 19, .a[0] = 18 };
magaiti: фигасе, а я не знал
magaiti: что так можно
735487: прикольно. можно не делать конструктор с кучей параметров
magaiti: ну я думал можно только так T x = {42, 43, {18, 19}};
magaiti: то есть надо помнить порядок членов, и нельзя инициализировать вразнобой
magaiti: а оказалось можно
_Lion_: hello
MadKnight: Uljahn а со страктами можно в np работать ?
MadKnight: например массив страктов
MadKnight: мне нужно нагенерить массив из другого массива
MadKnight: массив стракта
MadKnight: и главное - даст ли это вообще буст в скорости?
Uljahn: да
Uljahn: массив страктов - это типа structured array
Uljahn: в numpy
MadKnight: да, но будет ли генериться массив быстрее?
MadKnight: если у меня вот есть 10к данных и мне нужно нагенерить массив из 20к страктов
MadKnight: ... нужно нагенерить structured array из 20к штук
MadKnight: это насколько быстро будет?
MadKnight: Uljahn если что - нужно нагенерить из другого structured array, просто в другом формате (в другой структуре)
magaiti: а как ты из 10к 20к хочешь получить?
Uljahn: в нампи скорее всего будет быстрее, чем в просто питоне без нумбы
MadKnight: мне нужно для каждого одного сделать 2 инстанса
MadKnight: в новом формате
MadKnight: struct1 orig[10];
MadKnight: struct2 newarr[20];
MadKnight: newarr[0] = func1(orig[0]); newarr[1] = func2(orig[0]);
MadKnight: newarr[2] = func1(orig[1]); newarr[3] = func2(orig[1]);
Uljahn: самое то для numpy
Uljahn: я бы сделал так - скопировал исходный массив, а потом инплейс применил функции
Uljahn: т.е. orig[20]
Uljahn: а уж результат можно в любом формате выдать, хоть построчно, хоть 1D
MadKnight: смотри у меня есть pandas таблица
MadKnight: id name timeStart timeend
MadKnight: мне нужно переконвертить её в
MadKnight: id name time eventType
MadKnight: eventType - это либо start либо end
Uljahn: условие?
MadKnight: ну и вот, мне нужно каждую ( id name timeStart timeend ) переконвертить в 2 штуки ( id name time 'start' ) ( id name time 'end' )
magaiti: а чего это тебя в питон потянуло, мэд?
MadKnight: прогу пилим
Uljahn: а если сразу pandas.DataFrame.where?
MadKnight: так я не фильтрую
MadKnight: мне в другой формат нужно переконвертить
MadKnight: причём каждый элемент нужно переконвертить в 2 элемента в новом формате
Uljahn: запили отдельный канал, а то зафлудили чат
MadKnight: да го в лс
wlesavo: тоже кажется что проще в пандасе сделать
Drugou: Кто-нибудь в курсе - тут можно подключить phpstorm или нет?
Drugou: чтобы текст набирать в своем ide?
735487: Drugou: есть два варианта. либо самому копировать потом код и вставлять или заюзать для этого плагин
Drugou: спасибо) а есть известный плагин для этого?
MadKnight: что значит - текст набирать в IDE ?
MadKnight: я не понял проблему
MadKnight: Drugou
Uljahn: в локальной IDE набирать код и синхронизировать с CG, наверное
MadKnight: аааа
Drugou: да, набирать в IDE и потом чтобы он автоматически прописывался в тектовый редактор сайта
MadKnight: так есть же CGSync и CG Local
MadKnight: они автоматически из файла с диска копируют
Drugou: Понял - почитаю и попробую разобраться как это заюзать)
Drugou: Спасибо большое!
735487: В ходе своей первой стажировки в Microsoft я разрабатывал библиотеки для работы со строками на Macintosh. Вот пример типичного задания: написать версию strcat, которая возвращает указатель на конец новой строки. Всего несколько строк кода на Си. Все, что я делал, было прямиком из K&R (Керниган и Ритчи — прим. пер.) — одной тонкой книги про язык программирования С.
735487: вашу мать. в Microsoft людей занять что ли нечем?
MadKnight: это какой год
MadKnight: и зачем им указатель на конец
MadKnight: ничё не понял
BorisZ: указатель на конец видимо чтоб длину можно было посчитать сразу - в общем разумная идея
BorisZ: для сишных строк которые на 0 заканчиваются
MadKnight: аааа
MadKnight: понял
MadKnight: ну оптимизациями занимаются
MadKnight: вопрос в том, какой это год
BorisZ: это magaiti скидывал вчера ссылку на статью на хабре
BorisZ: оттуда отрывок
magaiti: Spolsky started working at Microsoft in 1991[5] as a Program Manager on the Microsoft Excel team,
magaiti: стажировался до работы, очевидно, во время учебы. то есть где-то с 1987 по 1991
magaiti: сишные строки это ужас
magaiti: никто не мог себе представить что в будущем люди будут работать со строками длиной в мегабайты
735487: да что в С что в С++ со строками все плохо
BorisZ: в будущем все будут говорить и писать на одном языке, так что все вернется к старым добрым ascii
magaiti: c++ норм строки
magaiti: на китайском?
BorisZ: не будет ни кино, ни театра, одно телевиденье (с)
BorisZ: у китайцев тоже есть фонетические знаки, как-то же иностранные названия пишут они
magaiti: по крайней мере с++ строки хранят длину
amurushkin: они еще латиницу используют но как то по своему
amurushkin: например r у них как ж произносится
BorisZ: ну и вобще, индия заборет китай в перспективе сотни лет
amurushkin: magaiti: в С++ по сравнению с питоном или php работать со строками сущий ад я бы сказал
magaiti: пример?
magaiti: питон и пхп заточены под работу с текстом, как бы
magaiti: а с++ это общего назначения
amurushkin: да вся работа со стрками сплошной пример. хотя бы replace, startsWith и подобные функции на плюсах чтобы сделать это надо некрасивый код написать
magaiti: boosts::starts_with()
magaiti: boost*
amurushkin: про boost я вообще не вкурсе. не юзал ниразу
amurushkin: на cg его можно заюзать?
magaiti: неа
magaiti: цг ущербен
magaiti: ты на паскале не писал на цг?
magaiti: там ничего нет
magaiti: ни хеш таблиц, ни деревьев
amurushkin: нет на паскаль не тянет уже
magaiti: только двоичный поиск
magaiti: я что-то писал тут на паскале, хз, видимо обострение мазохизма было
amurushkin: я тут на паскале онбоардинг делал )))
amurushkin: чтобы на всех языках ачивку разлочить :)
BorisZ: может и на паскале уже есть модули в стандартной библиотеке, просто про это никто не знает
magaiti: replace что должен делать кстати?
magaiti: boost::replace_all, boost::replace_first
magaiti: тоже еть
magaiti: есть*
amurushkin: ну видишь в бусте есть а в плюсах нет :)
magaiti: буст это плюсы
magaiti: цг просто зажали буст
amurushkin: да только его надо отдельно устанавливать. а в других языках из коробки удобно
BorisZ: буст вроде какой-то шибко здоровый, там еще буст2 был и еще чего-то
magaiti: ну это из разряда "у Виндоуз скучные обои"
amurushkin: это из разряда забыли запилить удобные важные функции и кивают на буст. мол вон кто то другой уже сделал чего нам напрягаться
magaiti: многие вещи в STL перекочевали из boost
magaiti: просто более приоритетные чем работа со строками
BorisZ: плюсы старенькие же, для своего времени там выло все что надо
magaiti: умные указатели например
magaiti: и даже regex
amurushkin: ну вот как так что даже регэкспа не было?
magaiti: их придумали в каком годк?
amurushkin: не знаю если честно
BorisZ: в конце 80-х вроде
amurushkin: а в каком году их включили в стандарт?
magaiti: в c++11 появились
magaiti: ты много хочешь, все и сразу
magaiti: а там три споловиной гика заседают
amurushkin: не находишь что долго соображали?
magaiti: просто человекочасов мало все сразу запихать в стандарт
amurushkin: если не успевают надо приглашать помошников значит. иначе со временем язык не выдержит конкуренции
magaiti: я думаю, людям, которые осознанно выбирают с++ вместо питона и PHP, регклярные выражениян не нужны
amurushkin: значит со временем он будет все более узкой направленности и вымрет
magaiti: 40 лет уже вымирает
magaiti: просто если бы std::regex включили вместо std::unique_ptr , шансы вымереть були бы выше
magaiti: мне кажется, в серьезном коде все равно никто регекспын не будет юзать, накладо слишком
magaiti: это для скриптов хорошо, где надо быстро накодить преобразование строк
amurushkin: regexp не только преобразование строк. для меня это в первую очередь поиск по шаблону
amurushkin: и вот что такое regex я знаю а что такое unique_ptr нет ))
amurushkin: но справедливости ради я мало чего о плюсах знаю
magaiti: может ты ошибся в выборе языка?
magaiti: это указатель который сам вызывает delete
amurushkin: нет просто я его юзаю для контестов :)
magaiti: а еще его нельзя копировать, но можно перемещать. и еще куча нюансов
amurushkin: а как можно указатель переместить? указывать на другую область памяти будет?
magaiti: нет, находиться будет в другой области памяти
amurushkin: из стека в кучу или как?
magaiti: суть не в том
magaiti: при копировании указателя у тебя будет 2 указателя
magaiti: с одним и тем же значением
magaiti: на какой из них вызывать delete?
magaiti: на оба нельзя
Uljahn: это как синглтон-указатель?
magaiti: хз что ты понимаешь под синглтоном
magaiti: синглтон имеет 1 инстанс по идее
magaiti: тут инстансов много, просто у них запрещены методы копирования
magaiti: но ты можешь переместить его в другую переменную, а в старой он обнулится
magaiti: если нужно иметь много инстансов вс одним значением,, тогда есть shared_ptr, со счетчиком ссылок
magaiti: но у него есть overhead в виде подсчета ссылок, и блока памяти где этот счетчик хранится
Uljahn: а, как weak_ref в питончике
magaiti: weak_ptr тоже есть
Uljahn: дак у питона сишка под капотом
Uljahn: у CPython
Uljahn: как чуть поглубже залезаешь, так начинаются всякие C-API, FFI, буферные протоколы и т.д.
magaiti: ну так закон дырявых абстрауций
magaiti: к*
magaiti: вчера кидал ссылку
magaiti: фундаментальная статья
magaiti: чтоб работать с мощным инструментом, нужно знать что у него под капотом
magaiti: иначе будешь постоянно спотыкаться
amurushkin: а что происходит с shared_ptr когда у него счетчик обнуляется? удаляется?
magaiti: да
magaiti: затем и нужен
amurushkin: я правда не понимаю практическое применение этих обоих _ptr
magaiti: чтоб менеджить память
magaiti: когда просто исползовать STL-контейнер недостаточно
magaiti: новички на плюсах в коде постоянно используют new и delete
magaiti: и ловят баги с их несоответствием
magaiti: когда в 99% случаев вместо этого можно заюзать стандартную структуру данных, а в оставшихся 1% умные указатели
magaiti: и еще баги с разыменовыванием указателей на удаленные объекты
magaiti: т.к. о понятиях владения ресурсами и времени жизни объекта имеют очень смутное представление
magaiti: и все это вместо того чтоб использовть язык со сборщиком мусора
magaiti: ради пресловутой эффективности, которой они не могут достигнуть, т.к. не знают вычислительной сложности алгоритмов, не говоря о конвейерной архитектуре и прочем
magaiti: *бъет себя пяткой в грудь*
Uljahn: всё правильно, поэтому я и не хочу плюсы учить - слишком много компетенций нужно, но новичкам даже это понять сложно
amurushkin: ну я взял массивы, ифы и циклы. мне хватает :)
Uljahn: нужно много знать, чтобы лучше знать, как много ты ещё не знаешь
amurushkin: главное что быстрее питона и gc не мучает как в джаве ))
Uljahn: ну, в мульти достаточно тепличные условия, так что такой подход выглядит рационально
magaiti: чем больше область твоих знаний, тем больше у нее периметр
magaiti: хм, а тут есть языки, в которых нет массивов, ифов или циклов?
BorisZ: ну я бы поспорил с тезисом что для того чтобы использовать технологию надо обязательно знать что у нее под капотом
Uljahn: мы про эффективное использование говорили, вроде бы
magaiti: зависит от того что понимать под словом использовать
BorisZ: так можно до микросхем, электронов и кварков спуститься
magaiti: кварки ты вряд ли сможешь перепрограммировать
magaiti: микросхемы тоже
BorisZ: достаточно чтобы был кто-то кто знает что под капотом ну или на худй конец инструкция что делать если кишки полезли наружу
magaiti: а вот объяснить начальству, почему ты не можешь решить проблему
BorisZ: сила - в специализации и в командной игре
magaiti: им может не понравиться идея что кроме тебя нужен еще один специалист, который за тобой будет кишки подчищат
magaiti: зачем тогда нужен ты
magaiti: ну да, нужна команда
BorisZ: это кроманьонец должен был знать всю инфу об окружающем мире на 100%, иначе бы не выжил, потому и мозги у них были больше чем у нас
BorisZ: а современные люди по отдельности глупее, а вместе сильнее, коллективный разум ептить
BorisZ: наше будущее - муравейник
magaiti: http://chat.codingame.com/pastebin/ab21df22-fe0a-4b05-ac4b-e417aa24f5d2
magaiti: http://chat.codingame.com/pastebin/26ce9470-43dd-4cef-9141-3dad970f6bbb
BorisZ: во, в каждой шутке только доля шутки )
BorisZ: начали с nuil-terminated strings а закончили коллективным разумом
BorisZ: у кого-то болезненная сколнность к обобщениям (
magaiti: недожали, надо было тепловой смертью вселенной заканчивать
magaiti: терминальным нулем
BorisZ: ладно, забанят еще строгие модеры за флуд то
Uljahn: если флуд интересен более чем одному человеку, то не забанят
wlesavo: особенноесли флуд интересен модеру
Uljahn: ну или пока никто не пожаловался на флуд
magaiti: ульян, ты модер?
MadKnight: da
MadKnight: а что?
MadKnight: а, щас чат прочитаю
magaiti: поступила разнарядка на баны?
MadKnight: там банят за бессмысленный не несущий вообще никакого смысла детский флуд
MadKnight: абсолютно бессмысленные сообщения
MadKnight: типа
magaiti: а за недетский флуд не банят?
MadKnight: главное - чтобы смысл хоть какой-то был
MadKnight: тогда это не флуд
MadKnight: не то чтобы смысл, а скорее суть
MadKnight: ima good human
MadKnight: i eat beans
MadKnight: вот, сути никакой, смысла никакого
magaiti: да, веганов банить полюбому
amurushkin: а если про жеэль )))
amurushkin: вообще запретная тема :)
magaiti: про что?
amurushkin: тебе не понять ))) ты сильно поздно пришел в чат )))))
amurushkin: в этом году
amurushkin: тут просто был чел который кубера переплюнул
amurushkin: раза 4 а то и 5 его банили
amurushkin: кстати из за него по сути и ульяну модерку дали ))
amurushkin: он тут такие полотная флуда выдавал что пипец
amurushkin: то про фряху то про линукс то про opengl
magaiti: ульян кинулся грудью на амбразуру?
magaiti: а, скучно
magaiti: я думал про GL-06
amurushkin: он мог на любую тему и исключительно даже сам с собой
magaiti: рассказывал, как пропатчить КДЕ-2 под фрибзд?
amurushkin: при этом беседовать было бесполезно
amurushkin: пуканы тут всем подорвал
amurushkin: даже в world всех достал
amurushkin: а главная его оособенность была это короткие сообщения и много. очень много
magaiti: https://bash.im/quote/376543
amurushkin: вот почти как я сейчас
magaiti: буфер чата переполнял, как у рефери в 2048,
magaiti: *
magaiti: ?
amurushkin: буфер у чата не знаю а вот мозги у всех закипали. доходило даже до того что ru2 делали ))))
amurushkin: это тяжело передать вобщем. ну можно логи наверное тебе показать но это потерянное время
magaiti: ru2 это серьзно
Uljahn: кстати, логи канала частично есть на https://cg.spdns.eu/wiki/Special:PrefixIndex?prefix=Ru%2F&namespace=3000
Uljahn: там на это чудо можно посмотреть
amurushkin: а вспомнил там были еще долгие споры о структурах данных :)
amurushkin: что в плюсах их нет а есть классы :)
amurushkin: или чето такое :)
Uljahn: да он думал что мы про стракт ему втираем))
magaiti: класс - это структура данных
magaiti: агрегат
magaiti: я помню кто-то сказал "я могу это написать не используя структуры данных"
magaiti: и тут я взвелся
magaiti: но как я понял, понимается под этим что-то сложнее массива
magaiti: а нет
magaiti: короче, пишут разное
magaiti: вплоть до того, что char это примитивная структура данных
MadKnight: так какие новости про RAIC ?
magaiti: ну формально я согласен, но в разговоре никто не будет говорить data structure подразумевая примитивные типы
magaiti: а, вспомнил еще тему
magaiti: говорили про то что за 2 часа можно решить 4 задачи из яндекс контеста
magaiti: так вот, мне неинтересны задачи, которые можно решать по 4 за 2 часа
magaiti: я уже на цг устал решать всякий шлак ради баллов
magaiti: вот про игру на клетчатой бумаге было неплохое мясо
magaiti: у меня осталось 7 попыток сабмита из 100, что ли. при том что я с акого-то момента разрабатывал в оффлайне
amurushkin: MadKnight: так какие новости про RAIC ? пока все ждут обещанного анонса
amurushkin: magaiti: так вот, мне неинтересны задачи, которые можно решать по 4 за 2 часа, но там то ты это делаешь ради того чтобы пройти в финал и попытаться выиграть. да и не каждый может так
Uljahn: не каждый может заставить себя заниматься неинтересным делом
amurushkin: кто нибудь хочет поиграть в игру которая не существует? типа есть идея но нет игры
amurushkin: приму в дар идеи для игр :)
MadKnight: amurushkin всмысле
MadKnight: тебе игр не хватает?)
MadKnight: хочешь новую?)
MadKnight: amurushkin возьми любую старую аркадную игру
MadKnight: или сделай игру - генератор игр
MadKnight: скорее не игру
MadKnight: а просто генератор игр
MadKnight: и сгенерируй 10 интересных правил
Uljahn: есть же проекты автоматической генерации игр, Yavalath так создали
MadKnight: но интереснее же самому запилить
amurushkin: я же не ремейк хочу. а что то свое
MadKnight: ты идею свою хочешь типа?
MadKnight: или ты хочешь не свою идею, но которая при этом не ремейк?
amurushkin: вот за неимением пока что совсем своих идей решил у вас поспрашивать
MadKnight: ну пойди логическим путём
MadKnight: что нужно для игры?
MadKnight: для хорошей игры
MadKnight: нужно чтобы было что решать боту
amurushkin: да бот тут при чем. я вообще игру а не для сг
MadKnight: аааааааа
MadKnight: ну запили шутер на UE4 с использованием этих very high-res AAA моделек персонажей
MadKnight: бесплатных
amurushkin: я решил что буду пробовать godot
MadKnight: он на юнити чутка похож
amurushkin: я пару видосов глянул. он для меня вроде понятнее чем юнити
MadKnight: это в начале
magaiti: тетрис-боевой рояль? а черт, уже придумали
magaiti: чет я посмотрел видосы, и подумал, что правда в STL как-то мало хеш-таблиц, всего один вид
magaiti: а их же дофига вариантов есть
magaiti: на все случаи жизни, экономящие память, оптимизированные на лукап, на инсерт
magaiti: а еще кстати по поводу 2048
magaiti: можно такой вариант затестить - луч хранить сортированный, но вставлять не по 1-му элементу, а скажем по 100
magaiti: накопил 100, отсортировал, смержил с лучшо, удалил дубикаты, обрезал
magaiti: и следующие 100 эл-тов можно копить
magaiti: мерж за O(N)
magaiti: удаление дубликатов O(N)
magaiti: std::inplace_merge
magaiti: std::unique
magaiti: https://i2hard.ru/publications/25965/
Uljahn: amurushkin: из последнего мне Noita понравилась - офигенская симуляция физики, разрушаемое окружение, процедурная генерация уровней и т.д.
Uljahn: особенно прикольно там залипать в конструкторе заклинаний (практически язык программирования на основе пиктограмм), создавая спеллы с неожиданными побочными эффектами
inoryy: че мутите