Контест Middle Задачи на Kotlin обновлено

Система непересекающихся множеств

Условие

Есть n городов без дорог. Приходят запросы:

  • union u v: построить дорогу между u и v, затем вывести текущее число компонент связности;
  • ask u v: можно ли доехать из u в v (YES или NO).

Ввод. n q (1 ≤ n, q ≤ 2000), затем q запросов.

Вывод. Ответ на каждый запрос в отдельной строке.

Как подойти

Подсказки: 2
  1. Каждая компонента это дерево с корнем.
  2. Сжатие путей и объединение по размеру.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.