@Xyyax1337

Как можно усложнить программу?

Здравствуйте,есть программа на c++ для нахождения гамильтонова пути, как можно её усложнить?
Нужно именно усложнить сам код, чтобы например он дольше выполнялся или использовал больше памяти
Вот сама программа - https://onlinegdb.com/n6PxYgO2m
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ответы на вопрос 2
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Помилуйте, куда его усложнять/замедлять-то?! Это и так уже полный перебор.

Единственное, что можно сделать, это переписать с нуля: генерируйте все перестановки, потом каждую из них проверяйте: если есть ребра между всеми соседними в перестановке вершинами, то выводите это.
Ответ написан
Комментировать
maaGames
@maaGames
Погроммирую программы
Ну элементарно же!
Везде, во всех циклах и аргументах фукнций, вместо константных ссылок передавай по значению и будет тебе копирование массивов.
Везде вместо [] используй at() - в нём есть проверка границ, очень чутка медленнее работает, чем [].
" if (!visited[w])" убери проверку и всегда путь ищи, это прям радикально замедлит.
Там же не path модифицируй, а на каждой итерации создавай копию и, если pop_back не требуется, то копируй временный путь в path.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы