Это копия, сохраненная 22 февраля 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Вкратце скажу, что ситуация у меня гораздо хуже, чем у этого анона, но в целом похожа. Я старше его на 3 года, так же без работы, так же асоциален, и так же не раз помышлял о суициде. В этом треде я буду просто выкладывать то, что делаю за день, скорее больше для себя, чем для кого-то еще, поэтому не обессудьте меня за сухость. Не буду гарантировать, что все закончится успешно, наверняка я сольюсь так же, как анон, но попытка не пытка. Мне все равно нечего делать, а привычный мне образ жизни уже невозможно терпеть.
Я немного знаю python, плохо знаю английский, я жирный, и у меня проблемы с общением с окружающими, и еще я болен целым букетом хронических заболеваний. Именно на совокупности всего этого будет базироваться дальнейшее повествование.
Приятного чтения.
>Приятного чтения.
>
Спасибо.
А на сколько все плохо у тебя? Прошлая работа? Город сильно мухосрань? Рашка?
> А на сколько все плохо у тебя? Прошлая работа? Город сильно мухосрань? Рашка?
Прошлая работа была 4 года назад, Рашка, ДС2
>>91763
Да, 27. Все полимеры просраны, знаю.
Сегодня весь день меня преследовала неотступная сонливость, поэтому особых результатов я не достиг.
Кое-как решил задачу на обход графа, в которой прыжок между вершинами можно сделать только 1 раз. Нужно обойти все вершины, и в виде стринга вывести путь http://pastebin.com/UAJkPJUv
Обычный обход графа, поиск возможного пути между двумя вершинами http://pastebin.com/JRcYSDFh
Гулял 2 часа на улице, стер ноги до крови. Сижу в бинтах.
Остальное время залипал в интернете и ничего не делал.
Завтра постараюсь трудиться более усердно.
У тебя поди кроссовки за 500р., какой-нибудь демикс-дебилус-как-то так? Я стараюсь пореже выходить на улицу в том числе из-за них. Не хочу тратить заначку на покупку нормальных, все равно и так не каждый день гуляю и не долго.
Я без понятия, как называется мое шмотье. Лет 10 ношу.
Сейчас надел старые кроссовки - стер себе все ноги. Наступить не могу. А на новые кроссовки нет денег. Хоть воруй иди.
Да ты же параноик!
https://twitter.com/crawlcode/status/521417718419832832
https://twitter.com/crawlcode/status/534149441255522305
Перебор в первой задаче (это же перебор?) как-то стрёмно смотрится. Она очень похожа на поиск эйлерова цикла (там ровно 1 раз по ребру — у тебя не более 1), возможно, что и решается так же.
Алсо:
>check_connection(("a-b", "b-c", "b-d"), "a", "d")
>False
>check_connection(("a-b", "b-d", "b-c"), "a", "d")
>True
Так и задумано?
>>91891
ОП, прошлая работа была по IT-профилю? Ты вебмака? Подшабашить в перспективе нет желания? Расскажи о опыте и том, что умеешь.
Просто у нас тут собралась команда: сеошник настоящий, а не фейковый, два толковых голоса озвучки с адекватными микрофонами озвучка рекламы, перевод иностранных проектов – много куда можно приспособить; один голос уже заказали на озвучку маленькой игрушки, человек с более-менее вменяемыми скиллами в видеоредакторах +есть выход на одного НАСТОЯЩЕГО переводчика, которая стажирируется в Майкрософте сейчас +один чел попроще, но носитель языка.
Если ты через полгодика-год сможешь пилить адекватные сайты, то можно подумать как тебе помочь. У нас как раз веб-разработчика нет.
>>90351
Анонов толковых, кстати, хватает. Я недавно понял, что не стоит циклиться на старых идеях – можно пилить то, что вполне реально.
Если хочешь – скину фейкопочту, пообщаемся предметнее. Если ты реально толковый, то передам инфу сеошнику 30+ лвл с опытом, он шарит круче меня.
Хаха, да. Вообще в первой задаче, как я сейчас посмотрю, можно было тоже убрать 2 переменные: суть done перенести в path, и answer зачем-то глобал.
Во второй тож с двумя first in elem тупанул, верно. И в задаче, для которой я его делал, были только вершины с двумя ребрами, - входным и выходным - поэтому b-c b-d выдает False. По сути можно использовать первый алгоритм: просто убрать лишние переменные, неиспользуемые в рамках решения, и все будет нормас.
Вообще, я не использовал какой-то готовый алгоритм. Я это дело даже не гуглю. Я стараюсь придумать алгоритм сам, исходя из вводных данных задачи. А потом уже смотрю в интернете, что да как.
Про Эйлеров цикл почитал, спасибо.
>>91975
Прошлая работа - журналист. Я оказался слишком неготовым к той грязи, в которой там пришлось работать. Продажная и мерзкая работенка, где приходилось восхвалять бандитов, а праведников - топить в помоях.
Посмотрим, что будет через полгода-год. Кто его знает, может и смогу пилить сайты, а может и нет. Думаю, что разумнее будет поискать варианты более надежные, чем я.
Нам не надо искать другие варианты по вебу прямо сейчас, у нас все потихоньку взлетает и без веб-специалиста. Моё предложение – личная инициатива. Может тебе интересно будет подшабашить: мы придумаем как тебя реализовать. Думаю, что сможем что-то придумать.
Дай мне свою почту на:
На случай если дропнешь тред: я свяжусь с тобой два раза – через 6 месяцев и год.
сейчас прохожу задачку на поиск пути между двумя точками. типа нужно пронести груз, а по полю расставлены телепорты, по которым этот груз можно пропускать дальше. Интересно. Ближе к ночи должен решить, постараюсь завтра выкатить решение. Не факт, что успею, но я стараюсь.
>>92022
просрал случайно имя, извиняюсь.
Вчера курил javascript, решил задачу на поиск путей в лабиринте.
http://pastebin.com/HUG8mFvq
Чувствовал себя намного лучше. Вечером пошел гулять, гулял долго, поэтому и вырубился. Встал буквально полтора часа назад. Успел только приготовить поесть. Сильно ноют ноги. Сейчас продолжу изучение javascript, а так же продолжу создание бекенда будущего сайта на django
Про тебя комикс.
Если обсуждать вкусовщину, то я бы сделал как-то так: http://pastebin.com/UibXEbV1. Мне не нравятся постоянные lab[p[0]][p[1]] и преобразования из пары точек в букву-направление и назад.
Но есть и настоящая проблема.
Твой код очень долго работает на лабиринтах вида:
>check_route(checkio, [
> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
> [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])
Во всяком случае, превышает ограничение по времени на ideone.
Дело в том, что ты написал алгоритм с экспоненциальной сложностью, иными словами, в худшем случае он переберёт все возможные пути. Количество таких путей в пустом лабиринте — порядка 3cells (в среднестатистическую клетку мы приходим из соседней и остаются 3 варианта следующего шага). В примере рекурсия доходит вниз до упора, и затем ей предстоит долгий и увлекательный перебор всех ~364 путей в тупике 8 × 8, единственный выход из которого она сама же и перекрыла.
Как это исправить.
Это может быть неочевидным, но ты не должен ступать не только на клетки, уже имеющиеся в текущем пути, но и вообще на любые клетки, которые когда-либо посещал.
Потому что к точке пути, на которой ты свернул в тупик, ты ещё вернёшься посредством рекурсивных возвратов и повернёшь в другую сторону, идти же в одну из заведомо тупиковых клеток снова смысла нет.
Т. о. минимальный фикс:
>9: path = ''
>+ seen = []
>10: graph(start, end, done, path, maze_map)
>* graph(start, end, done, path, maze_map, seen)
>14: def graph(start, end, done, path, maze):
>* def graph(start, end, done, path, maze, seen):
>16: done.append(start)
>+ seen.append(start)
>23: if step not in done:
>* if step not in done and step not in seen:
>27: graph(start, end, done, path, maze)
>* graph(start, end, done, path, maze, seen)
(шутка про Джона Сину или https://www.youtube.com/watch?v=F70pCctSi0o
https://ru.wikibooks.org/wiki/Реализации_алгоритмов/Поиск_в_глубину#Python — собственно, ex выполняет ту же функцию, так что с исправлением алгоритм превращается в обычный поиск в глубину.
P.S. Строки в питоне неизменяемые («изменение» сводится к созданию новой), и если list.append(x), действительно, будет видно отовсюду, то path += x — всего лишь синоним path = path + x, который ничего, кроме этой ссылки на path, не затронет. Поэтому делать [:len] бессмысленно.
Про тебя комикс.
Если обсуждать вкусовщину, то я бы сделал как-то так: http://pastebin.com/UibXEbV1. Мне не нравятся постоянные lab[p[0]][p[1]] и преобразования из пары точек в букву-направление и назад.
Но есть и настоящая проблема.
Твой код очень долго работает на лабиринтах вида:
>check_route(checkio, [
> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
> [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])
Во всяком случае, превышает ограничение по времени на ideone.
Дело в том, что ты написал алгоритм с экспоненциальной сложностью, иными словами, в худшем случае он переберёт все возможные пути. Количество таких путей в пустом лабиринте — порядка 3cells (в среднестатистическую клетку мы приходим из соседней и остаются 3 варианта следующего шага). В примере рекурсия доходит вниз до упора, и затем ей предстоит долгий и увлекательный перебор всех ~364 путей в тупике 8 × 8, единственный выход из которого она сама же и перекрыла.
Как это исправить.
Это может быть неочевидным, но ты не должен ступать не только на клетки, уже имеющиеся в текущем пути, но и вообще на любые клетки, которые когда-либо посещал.
Потому что к точке пути, на которой ты свернул в тупик, ты ещё вернёшься посредством рекурсивных возвратов и повернёшь в другую сторону, идти же в одну из заведомо тупиковых клеток снова смысла нет.
Т. о. минимальный фикс:
>9: path = ''
>+ seen = []
>10: graph(start, end, done, path, maze_map)
>* graph(start, end, done, path, maze_map, seen)
>14: def graph(start, end, done, path, maze):
>* def graph(start, end, done, path, maze, seen):
>16: done.append(start)
>+ seen.append(start)
>23: if step not in done:
>* if step not in done and step not in seen:
>27: graph(start, end, done, path, maze)
>* graph(start, end, done, path, maze, seen)
(шутка про Джона Сину или https://www.youtube.com/watch?v=F70pCctSi0o
https://ru.wikibooks.org/wiki/Реализации_алгоритмов/Поиск_в_глубину#Python — собственно, ex выполняет ту же функцию, так что с исправлением алгоритм превращается в обычный поиск в глубину.
P.S. Строки в питоне неизменяемые («изменение» сводится к созданию новой), и если list.append(x), действительно, будет видно отовсюду, то path += x — всего лишь синоним path = path + x, который ничего, кроме этой ссылки на path, не затронет. Поэтому делать [:len] бессмысленно.
http://pastebin.com/Q2YDn8xH
Мой проект на джанге постепенно трансформируется в блог с дополнительными фичами. Есть 200 строчек, показывать которые пока что рано.
Испек себе пирожки с вишенкой. Съел целую кучу. Я так не похудею никогда.
>>94139
Да, я хотел сделать, чтобы в done скапливались вообще все посещенные точки, но чет потом тупанул, подумав, что в таком случае алгоритм будет пропускать некоторые пути. Окей, взял на заметку.
Про строки я знаю, но немного не понял про бессмысленность. Ведь строка же все равно менялась в соответствии с пройденным путем, т.е. работало как задумано.
В примере увидел, как избавиться от костыля в виде глобала при выводе результата.
Ну и благодарю за развернутый ответ. Все больше убеждаюсь, что я нихера не знаю.
Ну вот, можешь же не перебором, когда хочешь.
>немного не понял
Я сформулировал столь же странно, сколь тот код выглядел, гг. В общем, нет ведь разницы между path += foo; f(path); path = path[:oldlen] и f(path + foo), а у тебя был первый вариант. Но да, тоже работает.
Алсо, здесь поиск в ширину (http://pastebin.com/gPGXiEw3) всё равно лучш! Он не сильно сложнее, в чём-то даже проще, но главное, что находит кратчайший путь. Пусть лабиринт как бы заполняется от старта ядовитым газом, за итерацию распространяющимся на одну клетку во все стороны. Для каждой клетки, куда он дошёл, необходимо запомнить соседа, откуда. Когда он дойдёт до конечной, по цепочке соседей восстанавливается кратчайший путь до старта.
Сейчас буду писать приложения для рейтинговой системы. Чувствую, что без джс сайт будет работать на уровне конца 90-ых, т.е. для того, чтобы появились изменения на странице, придется эту страницу перезагружать. Но думаю, что за ближайшие несколько недель я смогу реализовать что-то простенькое, что могло бы решить данную проблему.
Нифиха не помню из CSS. Да и помнить особо нечего, на самом деле. Я его и не учил толком. Сегодняшний вечер посвящу приложению кастом юзера, приложению рейтингов и CSS.
Ну и возможно решу еще 1 задачу на графы. Она более мудреная, чем банальных обход лабиринтов, я о ней говорил раньше, но тогда я её забросил из-за накатившего уныния.
Скоро выкачу сайтик на гитхаб.
Учил CSS. Задачку на телепорты так и не сделал.Вообще, опять как-то уныло. Тяжело быть депрессивной сучкой и превозмогать через все это дерьмо. Каждый день настроение меняется. То ты горы готов сворачивать, то сидишь аки валенок, пытаясь хоть как-то сконцентрироваться. Вся жизнь - американские горки. Очень сильно давит возраст на психику. Чувствую себя старым, пытающимся урвать трепещущую соломинку проебанных возможностей. Немного мотивируют истории про опущенцев-алкашей, коими буквально завален весь интернет. Греет мысль, что хоть кто-то в этом мире хуже меня.
Ой бля, не так. Вот так "Почему дисциплина лучше мотивации".
Надо раньше ложиться и раньше вставать. я слишком распущен, и мне действительно не хватает дисциплинированности. Завтра попробую встать пораньше.
Привет. Лучи бобра! Почитал твой дневник, в целом скачки настроения это нормально. Меня самого колбасит так постоянно, то ты полон жизни, оптимистичен, и горы тебе по плечу, то как обосанный валенок под шконкой, размышляешь о своей никчемности, вподаешь в дипрессию и тешишь себя мыслями о суециде. Я думаю, что это просто едет крыша, и к этому надо относится спокойно. Даже если настроение никакое, все равно двигаться к тому, что считаешь важным, поскольку после, будешь только жалеть о не сделанном.
Вобще аниме я не большой любитель, смотрел тетрадь смерти, эльфийскую песнь, и добро пожаловать в nhk. Вроде годно, ты бы что посоветовал такого душешипательного?
Пойду лягу. Буду пробовать уснуть через силу.
>>97795
Это не крыша едет, а нормальная реакция организма на невозможность реализовать свои базовые потребности. Пытается запуститься режим самоуничтожения, который подавляешь собственным рассудком.
Да я тоже не особый любитель.
Меня понравились Евангелион, Эксперименты Лэйн, Стальной Алхимик, Эрго Прокси, Берсерк. Больше я и не смотрел ничего.
Думаю, что этим говносайтом можно будет размахивать в своем портфолио.
Весь вечер проиграл в компьютер. На часах 2:20, а я опять не сплю. Завтра встану в 9
С другой стороны, я хоть что-то делаю. Пускай не каждый день по 14 часов, пускай не на пределе возможностей, но вода камень точит. Рано или поздно доучу языки, доучу фреймоврки, доучу алгоритмы - и все будет хорошо. Завтра точно займусь делом. Минимум на 7-8 часов. Встану в 10-11. Выжру пару ведер кофе, и начну работать.
>>100028
До последнего времени жил на свои накопления, а последние несколько месяцев сижу на шее у родителей.
14 день - смотрел кино по скайпу с друзьями, начал пилить фронтенд сайта на уровне верстки, вечером накатил
15 день - жутко болела голова, ничего не делал. Голова болела с самого утра, ближе к вечеру так и не прошла. Не знаю, что за хрень. Вообще ничего не делал, только лежал и слушал шум за окном.
Это копия, сохраненная 22 февраля 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.