Гильдии в игре: объединения и размеры
Условие
В онлайн-игре есть n игроков с номерами от 1 до n. Игроки могут объединяться в гильдии. Сначала каждый игрок в своей гильдии.
Админ присылает q команд двух типов:
join a b— гильдии, в которых состоят игроки a и b, объединяются (если они уже в одной гильдии, ничего не меняется);size x— нужно узнать, сколько игроков сейчас в гильдии игрока x.
Выведите ответы на все команды size в порядке появления.
Формат ввода
- В первой строке: два целых числа
nиq. - Далее
qстрок, каждая — команда видаjoin a bилиsize x.
Формат вывода Для каждой команды size x выведите одно целое число — текущий размер гильдии игрока x.
Ограничения
2 ≤ n ≤ 650001 ≤ q ≤ 650001 ≤ a, b, x ≤ n
Пример Ввод:
5 7
size 1
join 1 2
size 2
join 2 3
size 1
join 4 5
size 4
Вывод:
1
2
3
2Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам