Ctrl K

Номера городов для оживлённых дорог

Средняя
В стране cities городов с номерами от 0 до cities - 1. Список roads описывает двусторонние дороги: [a, b] соединяет города a и b. Между любой парой городов не больше одной дороги. Каждому городу нужно присвоить своё число от 1 до cities, все числа разные. Вес дороги — сумма чисел двух городов, которые она соединяет. Верните наибольший возможный суммарный вес всех дорог.
Пример 1
cities=4, roads=[[0, 1], [1, 2], [1, 3], [2, 3]] → 23

Из города 1 выходят три дороги, из 2 и 3 — по две, из 0 — одна. Даём им номера 4, 3, 2 и 1: (0,1) = 5, (1,2) = 7, (1,3) = 6, (2,3) = 5, всего 23.

Пример 2
cities=3, roads=[[0, 2]] → 5

Дорога одна, отдаём её концам номера 3 и 2: вес 5.

Пример 3
cities=2, roads=[[1, 0]] → 3
Ограничения
  • 2 ≤ cities ≤ 5 · 10⁴
  • 1 ≤ len(roads) ≤ 5 · 10⁴
  • roads[i] = [a, b], 0 ≤ a, b < cities, a ≠ b
  • Повторяющихся дорог нет
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЛучшая звезда со спицами СредняяСтудии для записи СредняяЗадания с перерывом на остывание СредняяБез одинаковых соседей СредняяМетки вразнобой Средняя
загружаем Python…
Вход
cities=4, roads=[[0, 1], [1, 2], [1, 3], [2, 3]]
Ожидается
23

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 64 теста на сервере, включая скрытые.