Manthan, Codefest 17 |
---|
Закончено |
Гарри, расспросив призрак Елены Когтевран, узнал, что она рассказала Тому Риддлу, или Сами-знаете-кому, о диадеме Кандиды Когтевран, и он украл ее.
Гарри считает, что Том спрятал диадему в Выручай-комнате, так как думал, что только он нашел ее. Потому Гарри собирается проникнуть в Выручай-комнату, ведь он знает, что диадема является крестражем.
Однако ему необходимо решить задачку перед тем, как попасть в комнату. Ему дано n объектов, пронумерованных от 1 до n. Некоторые объекты имеют родительский объект, имеющий меньший номер. Формально, объект i может иметь родительский объект parenti такой, что parenti < i.
У каждого отношения «объект — родительский объект» имеется тип, который может быть равен 1 или 2. Отношение типа 1 означает, что дочерний объект является особым случаем родительского объекта. Отношение типа 2 означает, что дочерний объект всегда является частью родительского и всех его особых случаев.
Обратите внимание, если объект b является специальным случаем объекта a, а объект c является специальным случаем объекта b, то объект c является специальным случаем объекта a. То же самое верно для отношений второго типа: если объект b является частью объекта a, а объект c является частью объекта b, то объект c является частью объекта a. Кроме того. обратите внимание, что если объект b является частью объекта a, а объект c является особым случаем a, то объект b является частью c.
Никакой объект не является ни особым случаем себя, ни частью себя.
Гарри должен отвечать на два типа запросов:
В первой строке находится целое число объектов n (1 ≤ n ≤ 105).
Следующие n строк содержат по два целых числа parenti и typei, ( - 1 ≤ parenti < i, parenti ≠ 0, - 1 ≤ typei ≤ 1), обозначающие, что i-й объект является дочерним по отношению к объекту parenti. Если typei = 0, то объект i является особым случаем объекта parenti. Если typei = 1, то объект i является частью объекта parenti и всех его особых случаев. В случае, если у i-го объекта нет родительского объекта, то и parenti, и typei равны -1.
Следующая строка содержит целое число q (1 ≤ q ≤ 105) — количество запросов.
Каждая из следующих q строк содержит три целых числа typei, ui, vi (1 ≤ typei ≤ 2, 1 ≤ u, v ≤ n), описывающие очередной запрос.
Выведите q строк, в каждой выведите «YES», если ответ на очередной запрос утвердительный, и «NO» иначе.
Вы можете выводить каждую из букв в любом регистре (строчную или заглавную).
3
-1 -1
1 0
2 0
2
1 1 3
2 1 3
YES
NO
3
-1 -1
1 0
1 1
2
2 2 3
2 3 2
YES
NO
В примере 1 объект 2 является особым случаем объекта 1, а объект 3 является особым случаем объекта 2, поэтому объект 3 является особым случаем объекта 1.
В примере 2 объект 2 является особым случаем объекта 1, а объект 1 содержит объект 3 как часть, поэтому объект 2 тоже содержит объект 3 как часть. Это потому, что если общий случай (объект 1) содержит объект 3 как часть, то его особый случай (object 2) тоже содержит объект 3.
Название |
---|