Ctrl K

Петли из трёх комнат

Средняя
В квесте rooms комнат с номерами от 1 до rooms. Некоторые пары комнат соединены дверями: doors[i] = [a, b] означает, что между комнатами a и b можно ходить в обе стороны. Петля из трёх комнат — это три разные комнаты, каждая из которых соединена дверью с двумя другими. Петли считаются одинаковыми, если состоят из одних и тех же комнат, в каком бы порядке их ни обходить. Верните количество различных петель из трёх комнат.
Пример 1
rooms=5, doors=[[1, 2], [2, 3], [3, 1], [3, 4], [4, 5]] → 1

Единственная петля — комнаты 1, 2 и 3.

Пример 2
rooms=4, doors=[[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]] → 4

Все четыре комнаты попарно соединены, поэтому подходит любая тройка: {1,2,3}, {1,2,4}, {1,3,4}, {2,3,4}.

Пример 3
rooms=3, doors=[[1, 2], [2, 3]] → 0

Из комнаты 3 нет двери обратно в 1, петли нет.

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

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