Chat:Ru/2020-09-24
Nick_Rush: Кто-нибудь понял, что требуется в задаче Обратный FizzBuzz?
735487: ссылку давай
Nick_Rush: https://www.codingame.com/training/easy/reverse-fizzbuzz
Zero0: про ksb может кто в кратце намекнуть какой к ней правильный подход в целом? Оно как-то странно все всю ночь проэксперементирвал, например, еду по прямой 3 хода, потом выключаю ускорение, как-будто тормозится с разным ускорением каждый раз или поворачиваю на 18 градусов, выдает следующим ходом угол -32.
735487: Nick_Rush там надо для ряда чисел проверить на что они делятся и в зависимости от этого вывести строку
735487: Zero0: углы там у тебя по идее от -180 до 180
Zero0: это я прочитал, но мне же наперед надо знать какой угол будет, http://chat.codingame.com/pastebin/246bff9a-b27a-4982-804a-ac0c384efe6c
Zero0: я эксперементирую, поворачиваю преобразованием :
Zero0: double alpharad = alpha*(Math.PI/180) ;
double xn=((x1-x0)*Math.Cos(alpharad)-(y1-y0)*Math.Sin(alpharad))+x0 ; double yn = ((x1-x0)*Math.Sin(alpharad)+(y1-y0)*Math.Cos(alpharad))+y0;
Zero0: xn,yn - точка которую выдаю,x1 - pod противника, x0 - мой pod , по моей мысли при alpha=18 , угол следующим ходом должен быть -18, а он -32
735487: у тебя странные преобразования
735487: вроде бы чтобы повернуть точку нужен радиус и косинус или синус угла соответственно
735487: ты в какой лиге?
735487: если есть желание могу подсказать фишку которая сразу в голду выводит
Zero0: x1,y1 - цель, чекпойнт , я смещаю себя к началу координат и поварачиваю этку точку матрицей поворота.
Zero0: мне самому помучится интересно, если только намекнуть вобщем, то буду признателен, полностью не надо
735487: смотри. тебе надо ехать в точку. но у машинки еще есть инерция. поэтому надо поехать не точно в точку а с учетом этой инерции
735487: для начала да
735487: потом появятся еще дополнительные правила
Uljahn: если самому мучиться, то есть смысл запоминать координаты чеков на первом круге, чтобы потом заранее поворачивать в нужную сторону
Zero0: отличная идея! спасибо!
OceanGo: Всем привет, увидел сейчас на руби строчку: http://chat.codingame.com/pastebin/67a75b2a-379d-4035-8433-9f7b2d45d781
OceanGo: блин, че, код нельзя вставлять?
735487: https://www.codingame.com/ide/puzzle/reverse-fizzbuzz не так много людей эту задачу вроде решило. а она easy. я сам блин провозился ))
Uljahn: так её недавно только заапрувили
Uljahn: 13 hours ago
Nick_Rush: есть стандартная функция преобразования числа в строку? Например 10 в "10"
Uljahn: язык какой? гуглить пробовал?
Uljahn: в питоне str(num)
Turpa: http://www.cplusplus.com/reference/cstdio/printf/
735487: в плюсах to_string еще есть
BorisZ: itoa
BorisZ: только си, только хардкор
magaiti: как люди делают по 300к симуляций?
magaiti: у меня 150к в среднем
Uljahn: прагмы все включены?
magaiti: все - это какие?
magaiti: все что есть на математику в документации по гцц?
magaiti: #pragma GCC optimize "Ofast,omit-frame-pointer,inline" это есть
735487: прикол против робо ньюмана и смита стал намного чаще выигрывать. зато стал проигрывать майкеичу ))
735487: magaiti: у меня такая же песня. сим в 2 раза меньше чем у смита
magaiti: может он считает по другому
735487: а как их еще можно считать? я вот считаю количество итераций на глубину. если это число умножить на глубину то так и выходит 150-160к
735487: будет количество запусков функции play
735487: впринципе я могу попробовать хранить стейт в нодах. тогда количество запусков симы станет меньше. но вот вывезет ли память все это хранить
magaiti: да, кол-во вхождений в play()
Uljahn: -ffast-math не даёт прироста в гоночках?
magaiti: я не считал, вроде дает немного
magaiti: по среднему кол-ву симуляций не понять, оно скачет от игры к игре
magaiti: можно своего бота в иде против бота с арены сравнивать, но тоже хз, может они коллизий разное кол-во насчитали
735487: там игры на 3 разных процах запускаются. нужно это учитывать еще
magaiti: хм, это объясняет почему иногда по 200к среднее
magaiti: у обоих
YurkovAS: magaiti можно предрасчитать все скорости, рандом заменить на фастранд и операция остатка от деления заменить на быстрые аналоги. double на float заменить
magaiti: ранд в симах не используется
magaiti: предрассчитать скорости - это как?
magaiti: остаток от деления тоже
magaiti: float использую
YurkovAS: thrust - angle каждые вычислить заранее, там же sin и cos, а они не быстрее, чем взять готовое из массива двумерного
magaiti: а
magaiti: табличные синусы сделать?
magaiti: с каким шагом?
YurkovAS: да, для каждого угла и ускорения
magaiti: углы то не дискретные
YurkovAS: data[200][360]
magaiti: sin и cos в симах не используются тоже
magaiti: только компоненты скорости
magaiti: а, ща посмотрю
magaiti: в муве где-то углы же
YurkovAS: как же не используется, ты же двигаешь на угол и ускорение
magaiti: надо заморочиться с мувами
magaiti: а ты только на целые углы поворачиваешь?
YurkovAS: да, на целые углы и целое ускорение
magaiti: ускорение понятно
YurkovAS: у нааба тоже ГА и ускорения только 0, 200, щит. а углы все можно такой вариант еще проверить, у него хорошо играет
Uljahn: YurkovAS: а у тебя что? смитси?
YurkovAS: смитси
YurkovAS: ты вчера спрашивал )
Uljahn: я проглядел ответ :(
YurkovAS: недавно еще улучшил, против робо только не очень. а в общем хорошо. http://cgstats.magusgeek.com/app/multi-coders-strike-back/yurkovas
YurkovAS: может и удачный сабмит, со 2-го раза, в первом робо сильно проиграл.
Uljahn: да это вообще топ среди не-нейронок
YurkovAS: можно больше в нее не играть.
noctiflorous: че так сложно то, мужики?
noctiflorous: я новенький, посоветовали тут задачки порешать для опыта. прошел вступление, зашел в алгоритмы и всё, нифига толком не могу решить :(
magaiti: а в чем проблема?
magaiti: условие непонятно, языка не знаешь?
noctiflorous: не знаю, может уровень IQ не подходящий
magaiti: легкие задачки не можешь осилить?
magaiti: вступление же как-то смог
noctiflorous: ну вот, например, легкая задача: http://chat.codingame.com/pastebin/54ea14dd-9cc7-4ffb-92f7-844f85bf0a12
noctiflorous: так, шо это такое, я текст кидал
magaiti: ссылку на задачу кидай
noctiflorous: https://www.codingame.com/ide/puzzle/7-segment-scanner
magaiti: ну это не самая простая
noctiflorous: конечно то что я на Си пишу еще все усложняет
noctiflorous: так почти все задачи из категории Easy на мой взгляд "не самые простые"
noctiflorous: ну либо мне так повезло
magaiti: ну почему, вот у тебя есть line_1, там верхний сегмент для каждой цифры можно найти
magaiti: и так далее
magaiti: бери задачу, дроби на более простые
magaiti: пока все не будут такие простые что их можно будет легко закодить
noctiflorous: да это понятно. по-хорошему наверное можно составить какую-то таблицу соответствий ascii репрезентации сегмента его цифре. но ведь подходящих цифр под один ascii может быть несколько
magaiti: не, там квадрат 3 на 3, в нем 7 из 9символов - это сегменты
magaiti: можно просто проверять, пробел или нет
magaiti: потом понять какая цифра, по тому, какие сегменты включены
magaiti: это же имитация калькуляторного дисплея
noctiflorous: я примерно это и имел ввиду. только надо как-то хранить соответствие включенным сегментам цифре
magaiti: ну да
magaiti: структурку или массив сделай
magaiti: если без них сложно
magaiti: для начала можно первую цифру научиться определять, потом подумать как быть с остальными
noctiflorous: понял, спасибо. наверное я просто ленивый
magaiti: да, тут задачки на раз-два не решаются :)
magaiti: надо посидеть над каждой
Uljahn: можно сначала ASCII ART зарешать для разминки
735487: имхо для разминки лучше тора и температуры
Uljahn: не, я про 7-сегментный пазл
gsomix: Как ни загляну на сайт — появляются изменения то тут, то там.
735487: что еще поменяли?
gsomix: Дизайн страницы профиля.
735487: мне еще не хватает чтобы можно было cover выбирать из готовых. лень мне загружать что то от себя ))
735487: https://www.codingame.com/replay/488888473 очередной скальп нейронки :) на этот раз на большой карте
Uljahn: так и не пофиксил старт?
735487: задал уже до 17 тика оба быть раннерами. пофиг )))
Uljahn: буст хорошо применяет и щиты
Uljahn: прям красота
tutubalin: в конце он как-то сильно долго бодается. мне кажется в этом случае надо или отлететь и с разгона войти, или блокером помочь
YurkovAS: amurushkin у тебя часто раннер и блокер меняются? можно вот так сделать: https://github.com/inoryy/csb-ai-starter/blob/master/main.cpp#L459
735487: почти никода не меняются
noctiflorous: тут, кажется, ошибка в последнем кейсе https://www.codingame.com/ide/puzzle/7-segment-scanner
на вход поступает что-то не то
Uljahn: тесты можно посмотреть, если кликнуть на иконку в виде стилизованного списка "Show testcases"
noctiflorous: да, я посмотрел, там все норм. вручную вывожу полученные строки - там только дэши
noctiflorous: дэши и пробелы
noctiflorous: на С если что
Uljahn: у меня нормально выводит на питоне
noctiflorous: сразу после fgets'ов написал printf("%s\n%s\n%s\n, line_1, line_2, line_3);
noctiflorous: fix: не дэши, а нижние подчеркивания)
Uljahn: угу, фигня какая-то
Uljahn: даже если отдельно выводить строчки, всё равно только подчёркивания выводит
Uljahn: нужен эксперт по сишке
noctiflorous: ых
magaiti: у меня нормально все
input.txt: Там это, размера буфера не хватило
input.txt: char line_1[301] - надо побольше
magaiti: для первого теста хватает
input.txt: для последнего не хватает
noctiflorous: ага
magaiti: ну вот он первую строчку читает по 300 смволов
input.txt: А в тесте 901 символ
magaiti: типа того
magaiti: как раз на три буфера
noctiflorous: как это вообще работает? если не хватило буфера, почему в line_n попадают только подчеркивания?
noctiflorous: и пробелы
magaiti: потому что он в 3 приема читает 1-ю строку
magaiti: по 300 символов
magaiti: а там 900 в каждой строке
magaiti: а в первой строке только подчеркивания и пробелы бывают
noctiflorous: а, не доходит до конца первой строки ('\0') и fgets'ы продолжают читать первую, пока его не встретят?
magaiti: они читают до перевода строки или пока не заполнится буфер
magaiti: а продолжают с того места, где закончили
magaiti: первый fgets читает 300 символов, второй начинает с 301-го, т.к. перевода строки не было
noctiflorous: понял
magaiti: вот если сделаешь по 3000 буфер, то прочитает 900 символов, и остановится на переводе строки
magaiti: ой я опять на 11
magaiti: опять амрушкин постарался :)
Uljahn: чё вы там, пушите друг дружку?
magaiti: хз, некоторые версии его бота почти всухую сливают некоторым версиям моего
YurkovAS: :smile:
magaiti: я забыл что у меня кроме симуляций еще АИ прикручен где-то, без него до 250 килосим бывает за 60мс
magaiti: то есть скорость нормальная
magaiti: надо крутить алгоритм
magaiti: потестирую табличные синусы