Chat:Ru/2020-09-24

From CG community
Jump to navigation Jump to search

Default avatar.png Nick_Rush: Кто-нибудь понял, что требуется в задаче Обратный FizzBuzz?

735487: ссылку давай

Default avatar.png Nick_Rush: https://www.codingame.com/training/easy/reverse-fizzbuzz

Default avatar.png Zero0: про ksb может кто в кратце намекнуть какой к ней правильный подход в целом? Оно как-то странно все всю ночь проэксперементирвал, например, еду по прямой 3 хода, потом выключаю ускорение, как-будто тормозится с разным ускорением каждый раз или поворачиваю на 18 градусов, выдает следующим ходом угол -32.

Default avatar.png Zero0: csb

Default avatar.png Zero0: ?

735487: Nick_Rush там надо для ряда чисел проверить на что они делятся и в зависимости от этого вывести строку

735487: Zero0: углы там у тебя по идее от -180 до 180

Default avatar.png Zero0: это я прочитал, но мне же наперед надо знать какой угол будет, http://chat.codingame.com/pastebin/246bff9a-b27a-4982-804a-ac0c384efe6c

Default avatar.png Zero0: я эксперементирую, поворачиваю преобразованием :


Default avatar.png 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;

Default avatar.png Zero0: xn,yn - точка которую выдаю,x1 - pod противника, x0 - мой pod , по моей мысли при alpha=18 , угол следующим ходом должен быть -18, а он -32

Default avatar.png Zero0: что не так ?

Default avatar.png Zero0: x1 -цель

735487: у тебя странные преобразования

735487: вроде бы чтобы повернуть точку нужен радиус и косинус или синус угла соответственно

735487: ты в какой лиге?

735487: если есть желание могу подсказать фишку которая сразу в голду выводит

Default avatar.png Zero0: x1,y1 - цель, чекпойнт , я смещаю себя к началу координат и поварачиваю этку точку матрицей поворота.

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

735487: смотри. тебе надо ехать в точку. но у машинки еще есть инерция. поэтому надо поехать не точно в точку а с учетом этой инерции

Default avatar.png Zero0: и всё?

735487: для начала да

735487: потом появятся еще дополнительные правила

Default avatar.png Zero0: спасибо. попробую

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

Default avatar.png 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

Default avatar.png Nick_Rush: есть стандартная функция преобразования числа в строку? Например 10 в "10"

Uljahn: язык какой? гуглить пробовал?

Uljahn: в питоне str(num)

Default avatar.png Nick_Rush: c++

Turpa: http://www.cplusplus.com/reference/cstdio/printf/

735487: в плюсах to_string еще есть

Default avatar.png Nick_Rush: спасибо!

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: потестирую табличные синусы