Подземные тоннели района
Условие
В новом районе города проложили станции метро, но тоннели между ними строят постепенно. Диспетчер хочет быстро отвечать, можно ли уже доехать от одной станции до другой, пользуясь только построенными тоннелями.
Тоннели двусторонние. Если станция A соединена тоннелями со станцией B через цепочку промежуточных станций, то считаем, что из A можно добраться в B.
Формат ввода
В первой строке дано целое число t — количество наборов данных.
Далее идут t наборов данных. Каждый набор имеет следующий формат.
В первой строке даны два целых числа n и q — число станций и число событий.
Далее идут q строк. Каждая строка — одно событие одного из двух видов:
BUILD a b— построили тоннель между станциямиaиb.ASK a b— спросили, можно ли добраться отaдоbпо уже построенным тоннелям.
Станции нумеруются от 1 до n.
Формат вывода
Для каждого набора данных выведите ответы на все события ASK в порядке их появления. Каждый ответ выводите в отдельной строке:
YES, если добраться можно,NOиначе.
Ограничения
1 ≤ t ≤ 42 ≤ n ≤ 650001 ≤ q ≤ 650001 ≤ a, b ≤ n- Сумма значений
nпо всем наборам данных не превышает65000. - Сумма значений
qпо всем наборам данных не превышает65000.
Пример
Ввод:
3
2 1
ASK 1 2
2 3
BUILD 1 2
ASK 1 2
ASK 2 1
3 5
BUILD 1 2
BUILD 1 2
ASK 2 3
BUILD 2 3
ASK 1 3
Вывод:
NO
YES
YES
NO
YESРешить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- БВИ и льготы при поступлении — какой диплом что даёт и сколько лет он действует