10481: DSU-1. Disjoint Set Union


Відправити розв'язок

Бали: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

Напишіть програму, для роботи зі структурою даних DSU (Disjoint Set Union) - Система множин, які не перетинаються, і буде обробляти запити таких видів:

RESET N — створити нову серію множин: множина лише з одного елемента 0, множина лише з одного елемента 1, і так далі, до множини лише з одного елемента N-1
Якщо струтура вже містила якісь множини, всі вони знищуються.
Внаслідок роботи цієї команди на екран необхідно вивести два слова через пробіл: RESET DONE

JOIN X Y — об'єднати множини, до яких належать елемент X та елемент Y.
Якщо ці елементи і до цього належали одній множині, вивести слово ALREADY, і після нього через пробіл ті ж самі числа X та Y в такому ж порядку.
Якщо елементи не належали різним множинам, то нічого виводити не потрібно (лише потрібно об'єднати множини цих елементів)

CHECK X Y — перевірити, чи елементи X та Y належать одній множині.
Вивести YES якщо належать одній множині, і NO - якщо належать різним.

Формат вхідних даних

Вводиться послідовність запитів RESET, JOIN та CHECK — кожен в окремому рядку.
Гарантується, що перший рядок містить запит RESET, а загальна кількість запитів RESER не перевищує 5.
Загальна кількість всіх запитів не перевищує 20000.
Значення \(N\) в кожному запиті не перевищує 100000.
В кожному запиті JOIN та в кожному запиті CHECK обидва числа будуть в діапазоні від 0 до N-1, де N - параметр останнього запиту RESET.

Формат вихідних даних

Для запитів RESET, CHECK і тих запитів JOIN, де елементи і так належать одній множині, виведіть відповідний результат запиту.

Приклад вхідних даних

RESET 15
JOIN 14 10
JOIN 13 8
JOIN 0 9
JOIN 8 3
JOIN 4 1
JOIN 10 5
JOIN 8 4
CHECK 2 11
JOIN 4 1
JOIN 2 6
CHECK 9 1
JOIN 6 5
CHECK 10 5

Приклад вихідних даних

RESET DONE
NO
ALREADY 4 1
NO
YES

Примітка

Відповіді NO даються на запити CHECK 2 11 та CHECK 9 1, а відповідь ALREADY 4 1 - на другий з запитів JOIN 4 1 і на CHECK 5 10


Коментарі

Ще немає коментарів.