Chat:Ru/2020-08-29

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

Uljahn: но тут очевидно нужен ещё import sys, поэтому для код-гольфа не очень подходит

_Lion_: доброе утро:wave:

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

vrabosh: 1,2,3

   2,0,0
   3,0,0

vrabosh: надо так

vrabosh: 1,3,2

   2,0,0
   3,0,0

vrabosh: ось здесь 1

vrabosh: по часовой на 90 градусов прокрутил

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

vrabosh: 3,2,1,0,0

   0,0,2,0,0
   0,0,3,0,0

vrabosh: былобы такое если массив больше

Default avatar.png ConstantBolzmann: ты не правильно написал своюб мысль в последнем примере

Default avatar.png ConstantBolzmann: если по оси икс то вроде там другие числа будут

Default avatar.png ConstantBolzmann: а что тебе мешает просто перемножить матрицы

Default avatar.png ConstantBolzmann: и сохранить эту библиотеку

Default avatar.png ConstantBolzmann: https://numpy.org/doc/stable/

Default avatar.png ConstantBolzmann: https://numpy.org/doc/stable/search.html?q=matrix&check_keywords=yes&area=default

vrabosh: жесть, уже позабыл нампи, надо опять вспоминать..

vrabosh: m[::,1::], m[::,0] = m[::,:-1:], m[::,-1].copy()

vrabosh: сам чат уже говорит что не очень)

vrabosh: m[::,1::], m[::,0] = m[::,: -1:], m[::,-1].copy()

vrabosh: расскажите как понармальному сделать?

vrabosh: http://chat.codingame.com/pastebin/667cda8a-b959-4f6e-b810-a0f2a8dd80db

vrabosh: во вроде нашел. m = np.roll(m, 1, -1) надо теперь разобраться как это работает

vrabosh: ConstantBolzmann чего так тихо? где люди? наверно из за флуда уже забили на этот чат

vrabosh: зачем ты меня приучил флудить?)

vrabosh: мне вообще эти штуки с матрицами нравятся.. может есть геометиря построенная на матрицах?

BorisZ: https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BD%D0%B7%D0%BE%D1%80

BorisZ: тензоры наверное ты имел ввиду

BorisZ: ну геометрия и так в общем на матрицах смотря с какой стороны смотреть)

BorisZ: геометрия - слишком резиновый термин

amurushkin: матрицы же алгебра по идее

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

BorisZ: пересекаются области эти в любом случае

BorisZ: ну и у нас и за бугром разная терминология - путаница короче

BorisZ: я помню учебник был по курсу аналитическая геометрия, дак там ни одной картинки не было

BorisZ: негде отдохнуть глазу визуала

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

Default avatar.png ConstantBolzmann: мне теселяция нравится очень

Default avatar.png ConstantBolzmann: читали хабр сегодня?

Default avatar.png ConstantBolzmann: жесть ваще

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

Default avatar.png ConstantBolzmann: https://habr.com/ru/news/t/517030/

ilgiocatore: они же еще вчера удалили, хабр слоупочит

amurushkin: смог на руби написать p gets.to_i.to_s(2).count(?1) )))) самый короткий вариант наверное

vrabosh: круто

wlesavo: опа, закрыл карту

Default avatar.png ConstantBolzmann: опа энжин заработал)

Default avatar.png ConstantBolzmann: щас разбираюсь с https://www.codingame.com/training/medium/maze

amurushkin: попался клеш в котором я смог на руби 16 символов. p gets.chomp.sum прикол ))

amurushkin: нагуглил

amurushkin: надо было сложить коды символов

amurushkin: читерство блин

BorisZ: вместо chomp можно chop

BorisZ: chomp режет пробел или все пробелы, не помню уже, а chop ровно один символ вроде пофиг какой

BorisZ: нет предела совершенству )

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

amurushkin: я в руби вообще почти ноль :)

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

BorisZ: с помощью гулга)

BorisZ: я примерно так и делал тоже

Default avatar.png ConstantBolzmann: я думаю все так делают)

BorisZ: вот нашли еще пользу в гольфе, а то все говорят что нафиг он нужен

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

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

Default avatar.png ConstantBolzmann: твоему коду твоему скилу есть смысл

Default avatar.png ConstantBolzmann: *гольфить а не кодить

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

BorisZ: просто пишешь как можешь, потом смотришь как победители сделали, набор приемов ограничен

Default avatar.png ConstantBolzmann: это впитать надо чтобы не зазубрено было

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

Default avatar.png ConstantBolzmann: согласен

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

BorisZ: поучаствую, обосрусь, засмеют - всем пофиг на самом деле

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

Default avatar.png ConstantBolzmann: рость

Default avatar.png ConstantBolzmann: http://chat.codingame.com/pastebin/680195c9-add6-477b-99a2-749d80e91eaa

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

Default avatar.png ConstantBolzmann: везет тебе а я как не зайду в клеш блин какието тяжелые задачи или я отсталый

Default avatar.png ConstantBolzmann: последние разы скипал

BorisZ: не надо скипать то, надо пытаться решить, если не общее решение то хоть чтоб часть тестов проходило

amurushkin: у меня хуже всего реверсы идут

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

amurushkin: адски сложных вроде особо и нет

Default avatar.png ConstantBolzmann: кароче у меня по кайфу ява пошла, (на прототипы чисто кайфую), а голову ломаю и люблю с++

Default avatar.png ConstantBolzmann: и тут на клешах в си++ пока поймешь что сделать пол века пройдет)

Default avatar.png ConstantBolzmann: я медленный

amurushkin: клеши надо на питоне или руби. круче всего

Default avatar.png ConstantBolzmann: ни у меня онли С++

amurushkin: капец я так спешил а чел за 24 секунды успел ))

BorisZ: наверное по второму разу эта же задача попалась

amurushkin: я физически не успел набрать :)

amurushkin: а ты чего так долго?

BorisZ: подумал что надо длину а потом 4* - читаю плохо

Default avatar.png ConstantBolzmann: http://chat.codingame.com/pastebin/81211ae3-40ab-48b0-b52f-8ef2387578f5

Default avatar.png ConstantBolzmann: как папка 3 место)

Default avatar.png ConstantBolzmann: на скиле)

amurushkin: я текуще сделал на питоне 53. а потом загуглил руби и сделал на 22 :))

BorisZ: я не придумал ничего хорошего (

amurushkin: у меня попоще код был. жалко не скопировал

BorisZ: да блин сквиз, красиво, прям под руби задачка )

amurushkin: ага случайно нагуглил

amurushkin: на питоне было примерно так p=0;s="";for c in input(): if c!=p:p=c;s+=c print(s)

Default avatar.png ConstantBolzmann: а как узнать что число слишком большое?

Default avatar.png ConstantBolzmann: О_о

amurushkin: насколько большое?

Default avatar.png ConstantBolzmann: я чот делю на 10 процес засыпает

Default avatar.png ConstantBolzmann: ну чисел к примеру 40

Default avatar.png ConstantBolzmann: типо sizeof(h)>=256?

amurushkin: sizeof от числа даст количество байт по идее. и там будет от 1 до 8 наверное

Default avatar.png ConstantBolzmann: 123123213123123123123123131313131313131313131313131313131

Default avatar.png ConstantBolzmann: вот такое число

amurushkin: а такое число в стандартные типы не влазит

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

Default avatar.png ConstantBolzmann: !(sizeof(unsigned long int))

Default avatar.png ConstantBolzmann: так сделал пофиг все равно не прошло

Default avatar.png ConstantBolzmann: бронзу завоевал)

BorisZ: поздравляю ) в чем бронзу то?

Default avatar.png ConstantBolzmann: в клешах)

Default avatar.png ConstantBolzmann: сертификатик)

BorisZ: amurushkin сделал тот клешь через re.findall - получилось 70, потом через zip - 59, твое решение в лоб самое короткое

BorisZ: на питоне изначальное с циклом

BorisZ: zip с инпутом же, сдвинутым на 1 символ вправо

BorisZ: ConstantBolzmann трудно чисто на си дальше будет, там надо и shortest mode сколь-то то побед

Default avatar.png ConstantBolzmann: ++

Default avatar.png ConstantBolzmann: а я то что вообще не знаю пропускаю

Default avatar.png ConstantBolzmann: там где есть зацепки конкретизирую а если труба пропускаю

Default avatar.png ConstantBolzmann: ну а смысл питон учить?

Default avatar.png ConstantBolzmann: я уже выбрал язык

BorisZ: для клешей надо базовый синтаксис да с десяток трюков

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

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

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

Default avatar.png ConstantBolzmann: а в питоне он уже сразу

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

Default avatar.png ConstantBolzmann: не давал но уже совесть не позволяет

Default avatar.png ConstantBolzmann: я пытался

Default avatar.png ConstantBolzmann: типо начал на этих лыжах поеду на этих

BorisZ: кто бы знал как оно должно быть на самом деле )

Default avatar.png ConstantBolzmann: ну я могу примерно сказать +=

Default avatar.png ConstantBolzmann: +-

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

Default avatar.png ConstantBolzmann: если нет базы то да питон, если базу уже вкинули и были азы то тут от того что нравится но обычно где кидали базу там Си++ СИ я редко встречал любителей с базой, которые на паскале или делфи, в основном все на базе остаются

Default avatar.png ConstantBolzmann: или в пхп уходят вот еще

Default avatar.png ConstantBolzmann: модули какието писать говорят почти как си++

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

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

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

Default avatar.png ConstantBolzmann: уж лучше ява

Default avatar.png ConstantBolzmann: не должно быть легко

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

Default avatar.png ConstantBolzmann: залетаешь в масм 32 или 64 и вот она реальность забыл там тут забыл, тут чутка чото не понятно и понеслась пляска

Default avatar.png ConstantBolzmann: даже топы теряются в коде

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

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

Default avatar.png ConstantBolzmann: хзхз

Default avatar.png ConstantBolzmann: поспорить могу

Default avatar.png ConstantBolzmann: асемблер как раз показывает все

Default avatar.png ConstantBolzmann: весь спектр

Default avatar.png ConstantBolzmann: потомучто там теперь пол ядра в библиотеке

Pyhesty: а есть что-то вроде bits/stdc++.h для питона?

Default avatar.png ConstantBolzmann: sys

Default avatar.png ConstantBolzmann: вроде

Default avatar.png ConstantBolzmann: в винде асемблер не нишевая штука

Default avatar.png ConstantBolzmann: а вполне реальный болтик

Default avatar.png ConstantBolzmann: я уж не говорю про глифы в шейдерах про игры и прочие драйверы

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

BorisZ: насколько я знаю нет

BorisZ: это хедер который в себя все стандартные либы включает ведь?

Default avatar.png ConstantBolzmann: ага

Pyhesty: ага, а питоне то же дофига стандартных либ?

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

Default avatar.png ConstantBolzmann: Борь а ты писал в асемблере?

Default avatar.png ConstantBolzmann: 16 32

Default avatar.png ConstantBolzmann: там щас ващето шейдеры при его помощи крутятся

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

Default avatar.png ConstantBolzmann: масм сила

Default avatar.png ConstantBolzmann: 32 64

Default avatar.png ConstantBolzmann: 16 вообще не то и прерывания все забанены щас

Default avatar.png ConstantBolzmann: там просто портировано пол ядра)

BorisZ: с тех пор ни разу не понадобилось и не встречал вживую никого кому это было бы нужно )

Pyhesty: никто в первую дюну не играл?

Default avatar.png ConstantBolzmann: я не знаю могу скрин покзать)

Default avatar.png ConstantBolzmann: да Борь у тебя это крутится на обработке шрифта

Default avatar.png ConstantBolzmann: это нужно и сейчас

BorisZ: а в проще между транзисторы электроны летают - нафига мне про все это знать )

Default avatar.png ConstantBolzmann: код в разы упакованнее правда сложный

BorisZ: *в проце

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

Default avatar.png ConstantBolzmann: есть уязвимость

BorisZ: Pyhesty первая это был квест вроде бы, совсем древний, вторая уже RTS

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

Default avatar.png ConstantBolzmann: туда можно асемблер запустить)

Default avatar.png ConstantBolzmann: сопсно шейдер и крутит асемблер

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

Default avatar.png ConstantBolzmann: 4 6

Pyhesty: BorisZ да, первая была от первого лица, не совсем квест, но да, просто если кому интересен tasm16, то на олдгеймс уже три года завис перевод первой дюны, так как не удаётся упаковать обратно графику... если хочется покодить с пользой, то на олдгеймс =)

Default avatar.png ConstantBolzmann: так перекинь код в 32

Default avatar.png ConstantBolzmann: ты был в масме?

Default avatar.png ConstantBolzmann: там различий минимум

Default avatar.png ConstantBolzmann: тасм 16 это старые ашки

Pyhesty: а что делать с вызовами биоса и доса в 32м?

Default avatar.png ConstantBolzmann: а теперь типо круче функционал

Default avatar.png ConstantBolzmann: не там теперь круче

Default avatar.png ConstantBolzmann: теперь в разы уцдобнее

Default avatar.png ConstantBolzmann: пушишь и принтишь ядром

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

Default avatar.png ConstantBolzmann: посути асемблер с функционалом си

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

Pyhesty: эта игруха написана в 91м... какое там её перенести в 32й... чет какая-то дичь... или ты не мне? видео режимы всё не то, никто олд геймы при переводе не переносит на новый язык... она уже переведена, проблема с упаковкой ресурсов, она при распаковке больше и вылезает в чужую память ( хз где, нужно дизассмить...

Default avatar.png ConstantBolzmann: блин ну ладно лови

Default avatar.png ConstantBolzmann: щас я тебе кину

Default avatar.png ConstantBolzmann: https://youtu.be/AQDRdkXTdbA

Default avatar.png ConstantBolzmann: это то что это возможно вообще!

BorisZ: Pyhesty не знаю, сомнительная затея с переводом. Я например если увижу игрушку из 90-х старую, может и пущу слезу ностальгии, а если она будет переведенная то отплюнусь только)

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

Default avatar.png ConstantBolzmann: https://youtu.be/grN0tUYWyj4?list=PLtz4hzJDq7ZzJYNJVX6NghM5bIKFBs-ud

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

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

Default avatar.png ConstantBolzmann: польза от асма это проц 64 и прога на нем же на 64

Default avatar.png ConstantBolzmann: считай дос асм только на максималках

Default avatar.png ConstantBolzmann: там все видосы на русском

Default avatar.png ConstantBolzmann: перевести я имею ввиду на 32 бита

Default avatar.png ConstantBolzmann: в досе щас нету смысла

Pyhesty: да я вижу - гляну, спс

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

Default avatar.png ConstantBolzmann: там изи

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

Pyhesty: =)

Default avatar.png ConstantBolzmann: а я от асемблера плачу)

Pyhesty: там ещё форум есть ) и нужны программеры для перевода некоторых игр )

Default avatar.png ConstantBolzmann: ностальгирую и плачу и еще плачу что бисо и дос забанены)

Pyhesty: под многозадачной системой прямой доступ биос зло...

Default avatar.png ConstantBolzmann: так его зщакрыли изза дыр

Default avatar.png ConstantBolzmann: они и щас есть их знать надо

Default avatar.png ConstantBolzmann: кстати в дебаге работают они

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

Default avatar.png ConstantBolzmann: ну и не в екране а в памяти ток видно будет

Default avatar.png ConstantBolzmann: ты прикинь регистр 64 разряда

Default avatar.png ConstantBolzmann: а меня учили когда 16 было

Default avatar.png ConstantBolzmann: 64 в реальном времени

Pyhesty: "кстати в дебаге работают они" вероятно просто копия образа памяти биоса, а что мешает прыгнуть не по прерыванию, а прямому адресу? через драйвер как-нить в биос

Default avatar.png ConstantBolzmann: хз я добрый кодер

Default avatar.png ConstantBolzmann: прикладуха игры

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

Default avatar.png ConstantBolzmann: а вот на фрибсд времени и нет как раз

Default avatar.png ConstantBolzmann: гайант лок в фрибсд режим называется

MadKnight: как дела посоны?

MadKnight: ConstantBolzmann Pyhesty

Default avatar.png ConstantBolzmann: потихоньку привет

MadKnight: чё кодишь?

Default avatar.png ConstantBolzmann: клешь и думаю о паре задачках

MadKnight: каких?

YurkovAS: MadKnight привет. Давно тебя небыло, потеряли уже.

MadKnight: да я в дискорде был

MadKnight: я слышал про то что вы меня потеряли

MadKnight: мне struct рассказал

MadKnight: хотел поменьше в чатиках сидеть и побольше кодить

YurkovAS: ясно, главное что все ок.

MadKnight: а ты что делаешь YurkovAS ?

Default avatar.png ConstantBolzmann: что написал?

YurkovAS: да, чатики то еще зло. проще спросить, чем самому разбираться.

Default avatar.png ConstantBolzmann: я вот тройку игр написал щас буду хвастаться)

YurkovAS: кодю гиперсоника

YurkovAS: MadKnight: но, чекни csb :grin:

MadKnight: а чё с ним

MadKnight: зачем

MadKnight: ConstantBolzmann чё за игры?)

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

Default avatar.png ConstantBolzmann: и все в кое каком режиме

Default avatar.png ConstantBolzmann: сдесь нельзя говорить про это

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

MadKnight: а какой алгоритм использовал?)

MadKnight: smitsimax ?

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

MadKnight: у меня для него есть офигенская идея

Pyhesty: подскажите как в питоне считать все строки из input через list?

MadKnight: list([input() for i in range]) ?

MadKnight: Pyhesty

Pyhesty: сработало, спасибо

MadKnight: Pyhesty а что это ты такое делаешь?

Pyhesty: да питон изучаю... после плюсов тяжко, основная задача в питоне подобрать нужную функцию для решения задачи, в плюсах - напиши все сам =)

Pyhesty: ну и читабельность пытаюсь повысить, что бы не создавать пустой список, потом добавлять append...

MadKnight: ага, даже слишком

MadKnight: слишком "напиши всё сам"

MadKnight: мне они потому не нравятся для бизнес разработки

Pyhesty: ну питон для бизнес разработки то же такое себе... у нас заказчик любитель питона 2.7 при этом он конечно успевает принимать от нас 1.2ГБайта в секунду, но обработать это уже не в его силах... 64 ядра сотни гигов, хотя то же на GPU бы решалось на лету... так что питон не для потоковых данных...

MadKnight: у питона совершенно другая проблема

MadKnight: он медленный

MadKnight: я не о том говорил

MadKnight: в плюсах приходится слишком уж много фигни вручную пилить

Pyhesty: это да, спасает копипаст из инета... но прямая работа с памятью иногда полезна

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