Ctrl K

Самый длинный круг записок

Средняя
В ряд стоят n коробок с номерами от 0 до n - 1. В коробке i лежит записка с номером next_box[i] — это следующая коробка, которую нужно открыть. Все номера на записках различны, то есть next_box — перестановка чисел от 0 до n - 1. Откройте какую-нибудь коробку и дальше всё время идите по запискам. Рано или поздно вы вернётесь в коробку, которую уже открывали. Верните наибольшее число различных коробок, которое можно открыть таким образом, выбрав удачную стартовую коробку.
Пример 1
next_box=[2, 0, 1, 4, 3] → 3

Из коробки 0 путь идёт 0 → 2 → 1 → 0: три коробки. Коробки 3 и 4 указывают друг на друга — круг из двух.

Пример 2
next_box=[0, 1, 2] → 1

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

Пример 3
next_box=[1, 2, 3, 0] → 4
Ограничения
  • 1 ≤ n ≤ 10⁵
  • 0 ≤ next_box[i] < n
  • Все значения next_box различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСлово на сетке букв СредняяОсушение замкнутых прудов СредняяУчастки суши на карте СредняяЦепочки отношений СредняяДождь стекает в оба моря Средняя
загружаем Python…
Вход
next_box=[2, 0, 1, 4, 3]
Ожидается
3

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