ГлавнаяСборникиТурнирыРазделыФорумыУчастникиПечатьПомощьО системе

Разделы > Неотсортированные > задача:


Макс и словарь синонимов

Задачи раздела

• Макс и новые папки
• Макс и оптимизация времени
• Макс и перестановка цифр
• Макс и плитка
• Макс и подтягивания
• Макс и полив растений
• Макс и помощь Деду Морозу
• Макс и система регистрации
• Макс и словарь синонимов
• Макс и смешивание красок
• Макс и степени двойки
• Макс и судоку
• Макс и техническая литература
• Макс и трекер шагов
• Макс и фильтрация спама
• Макс и формирование команд
• Макс и фуршет

Обратная связь

Если у вас есть предложения или пожелания по работе Contester, посетите форум сайта www.contester.ru.

Лимит времени 2000/2000/2000/2000 мс. Лимит памяти 65536/65536/65536/65536 Кб.

Макс и словарь синонимов
Макс и словарь синонимов
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Недавно Макс узнал, что навыки программирования востребованы даже в такой области, как лингвистика. Его попросили разработать программу, моделирующую словарь синонимов.

Программа должна обрабатывать следующие виды запросов:

  • $$$1$$$ $$$S$$$ — добавить слово $$$S$$$ в словарь (гарантируется, что ранее этого слова в словаре не было);
  • $$$2$$$ $$$A$$$ $$$B$$$ — проверить, являются ли слова $$$A$$$ и $$$B$$$ синонимами;
  • $$$3$$$ $$$A$$$ $$$B$$$ — сделать слова $$$A$$$ и $$$B$$$ синонимами (если они уже являются синонимами, то никаких изменений не происходит).

Отношение синонимичности является рефлексивным, симметричным и транзитивным:

  • Любое слово является синонимом для самого себя;
  • Если $$$a$$$ — синоним $$$b$$$, то $$$b$$$ — синоним $$$a$$$;
  • Если $$$a$$$ — синоним $$$b$$$ и $$$b$$$ — синоним $$$c$$$, то $$$a$$$ — синоним $$$c$$$.

Помогите Максу проверить, правильно ли работает его программа.

Входные данные

Первая строка содержит целое число $$$N$$$ ($$$3 \le N \le 3 \cdot 10^5$$$) — количество запросов.

Следующие $$$N$$$ строк описывают запросы. Каждая из них содержит целое число $$$T_i$$$ ($$$1 \le T_i \le 3$$$) — тип запроса. Если $$$T_i = 1$$$, то далее следует слово $$$S_i$$$, иначе — слова $$$A_i$$$ и $$$B_i$$$ ($$$1 \le |S_i|, |A_i|, |B_i| \le 20$$$), состоящие из строчных латинских букв, — аргументы запроса.

Выходные данные

Для каждого запроса второго типа выведите YES, если слова являются синонимами, либо NO в противном случае.

Примеры

Входные данные
6
1 contest
2 contest contest
1 competition
2 competition contest
3 competition contest
2 contest competition
Выходные данные
YES
NO
YES
Входные данные
9
1 contest
1 competition
2 competition contest
3 competition contest
2 contest competition
1 championship
2 championship contest
3 championship contest
2 competition championship
Выходные данные
NO
YES
NO
YES

Для отправки решений необходимо выполнить вход.

www.contester.ru