D. Семнадцать стульев
2000 мс · 64 МБ · всё или ничего
Дана матрица стоимостей проезда между городами. Начав в городе 1, нужно побывать в каждом городе ровно один раз. Найдите наименьшую суммарную стоимость и сам порядок посещения.
Нуль в матрице означает, что дороги нет, а не что проезд бесплатный.
Формат ввода
В первой строке (). В каждой из следующих строк — неотрицательных чисел (). Если , проезд из в стоит ; если , проехать напрямую нельзя.
Формат вывода
Если обойти все города можно, в первой строке выведите наименьшую суммарную стоимость, а во второй — номеров городов в порядке посещения (первый обязан быть 1). Если порядков несколько, выведите любой.
Если обойти все города нельзя, выведите .
Примеры
ввод
3 0 3 2 3 0 6 2 6 0
вывод
8
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.