@python_beginnersЭта группа больше не существует

Страница 212 из 1885
Viktor
31.07.2016
22:27:37
Ленивый алгоритм ведь будет обязательно работать если нет нескольких вершин с одинаковым числом ребер?

Denis
31.07.2016
22:27:56
Нет

Или да

Но такого условия нет

Google
Viktor
31.07.2016
22:28:12
¯\_(ツ)_/¯

Николай
31.07.2016
22:28:40
Ленивый алгоритм ведь будет обязательно работать если нет нескольких вершин с одинаковым числом ребер?
Питон просто будет брать вершину наименьшую по старшинству кольца (между номером 2 и 9 выберет 2)

Т.е. по номеру вершины

Viktor
31.07.2016
22:29:34
а если "отрывать" от графа "подграфы" для которых обязательно сработает ленивый алгоритм, а перебор использоватьна оставшейся части?

алгоритм, не питон :)

вот мой набросок https://repl.it/CiBA

Николай
31.07.2016
22:30:26
Хочешь скрестить жадный и ленивый алгоритм?

Denis
31.07.2016
22:31:03
Против него есть тест

Николай
31.07.2016
22:32:27
Но каким же образом ты определишь где какие подграфы создавать?

Google
Viktor
31.07.2016
22:32:42
найти все вершины с одним ребром, идти от них к следующим пока число вершин равно двум и таким образом получить подграф для цепей число разрывов всегда равно len(chain)//2

так можно избавится от... кхм, щупалец?

Николай
31.07.2016
22:33:52
Т.е. удалять если есть вершину с 1 ребром? Точнее вторую вершину, которая соединена ребром с одиночной?

Denis
31.07.2016
22:34:07
Где в твоем решении ответ?

Viktor
31.07.2016
22:34:11
ну, длина должна быть равна минимум двум

Где в твоем решении ответ?
это не решение, это просто способ ускорения перебора

Denis
31.07.2016
22:34:50
Если нет вершин с одним ребром?

Viktor
31.07.2016
22:35:03
тогда от него нет толку

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

Николай
31.07.2016
22:35:36
?

Это да. Я его уже применял к жадному алгоритму

Вещь хорошая

Denis
31.07.2016
22:36:08
Но там будет тест, где этот алгоритм ничего не ускорит

Поэтому он не поможет решить задачу в общем случае

Viktor
31.07.2016
22:36:31
и будет тест где ускорит

Николай
31.07.2016
22:36:42
Ну там большинство тестов где нет с 1 ребром вершин

Но мразу после 1 удаления они появляются

Denis
31.07.2016
22:36:59
Но если будет решение общего случая, тот тест пройдет и без этой оптимизации

Viktor
31.07.2016
22:37:14
ну да

Николай
31.07.2016
22:38:16
ладно. Спасибо, парни. Думаю завтра разберусь с этим иродом

Google
Николай
31.07.2016
22:38:22
Спокойной всем

Viktor
31.07.2016
22:38:37
то есть идея в переборе решении?

Николай
31.07.2016
22:38:56
Как самая оптимизированная, пока да

Viktor
31.07.2016
22:39:07
удаляем сначала по одному кольцу, потом по два, потом по три и так далее?

Николай
31.07.2016
22:39:18
Типа

Там в среднем не больше 6ти колец

Удалений

Ну мб есть штук 7, но там попроще будет, думаю

Viktor
31.07.2016
22:40:18
хм, а ведь если будет хоть одна вершина с одним ребром, то от её удаления нет толку?

Николай
31.07.2016
22:40:59
От удаления соседней с ней толк есть, просто пока плохо представляю работу алгоритмп с этим условием

Мб будет и быстрее, но будет проходить не все, а лишь определённые варианты

"Одни и те же"

Viktor
31.07.2016
22:42:27
эт не баг?

Denis
31.07.2016
22:42:45
эт не баг?
А хз, если руками encoding поставить, все работает

Николай
31.07.2016
22:42:48
Лол

Viktor
31.07.2016
22:43:13
хм, а ведь если будет хоть одна вершина с одним ребром, то от её удаления нет толку?
нам нужно её удалять только если нужно "освободить" соседнюю А это нужно делать только если у соседней осталось всего одно ребро: связывающее её с первой. А в таком случае разницы нет какую удалять: первую или вторую.

Николай
31.07.2016
22:43:54
Согласен. Просто в этом случае некоторве ходы будут повторяться

Николай
31.07.2016
22:45:59
Ну если при удалении определённой вершины остаётся 1 ребро - то теппрь будет алгоритм по отрыванию щупальца, а это, как правило, цепная реакция. И раз это цепная реакция, по 1 и тому же пути будут ходить удаляя некоторве вершины

Viktor
31.07.2016
22:46:00
хотя вот в таком случае это не верно: .-.-. | .

Google
Николай
31.07.2016
22:46:23
Ну тот только 1 варик)

Viktor
31.07.2016
22:46:55
хотя вот в таком случае это не верно: .-.-. | .
тут по моей логике нужно убрать все крайние вершины и оставить только центральную, что не верно

Николай
31.07.2016
22:47:15
А. Ну неплохо)

?

Спасибо в любом случае

Без вас хз скок бы с ней думал

4 часа на сон осталось)

Admin
ERROR: S client not available

Viktor
31.07.2016
22:49:04
много

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

s/надо/лучше

Фԉùཎыч⚠️
31.07.2016
22:57:00
Хоп

Николай
01.08.2016
04:26:15
удаляем сначала по одному кольцу, потом по два, потом по три и так далее?
Ребят, а что мне поможет сделать конструкцию, при которой можно увеличивать вложенность циклов т.о., чтобы все циклы были в одной области видимости. Кроме global x для каждой итерации, вложенных функций (и то, пока не могу полностью понять конструкцию), модулей re и random, чтобы генерировать случайные буквы для каждого числа цикла. Прикрепил к вопросу то, что я имею ввиду.

Николай
01.08.2016
04:27:34
Viktor
01.08.2016
04:27:53
Ну да, решили (Сегодня)

Но увеличение вложенности причём?

Николай
01.08.2016
04:28:10
Просто чтобы по кольцу прибавлять - нужно делать доп вложенный цикл

Zart
01.08.2016
04:28:11
global для этого не нужен...

рекурсией? 8)

Google
Николай
01.08.2016
04:28:36
Ты знаешь ещё способо?

Чтобы перебрать все номера колец

Viktor
01.08.2016
04:29:12
itertools.combinations(rings, N)

N in range(len(rings)-1)

Николай
01.08.2016
04:29:34
Оке. Посмотрю эту библиотеку. Не пользовался ещё

Viktor
01.08.2016
04:29:45
Зачем строить велосипеды

Николай
01.08.2016
04:29:48
Цикл то понятен

Viktor
01.08.2016
04:30:27
Ну а в чем вопрос?

Николай
01.08.2016
04:30:39
Ну если я раньше их не видел, то вполне вероятно что их и хотел строить) Теперь не в чём

*ни в чём

Спасиб.

Николай
01.08.2016
04:31:53
?

Viktor
01.08.2016
04:31:56
Сам же говорил про него ещё в боевом сообщении

Про combinations

Николай
01.08.2016
04:32:21
Ну так да. Но в тот момент я не знал про ленивый способ)

И не знал куда этот применять

Страница 212 из 1885

Эта группа больше не существует Эта группа больше не существует