Задача №111688. Предок_0
Напишите программу, которая для двух вершин дерева определяет, является ли одна из них предком другой.
Первая строка входного файла содержит натуральное число \(n\) (\(1 \le n \le 100\,000\)) — количество вершин в дереве. Во второй строке находятся \(n\) чисел, \(i\)-е из которых определяет номер непосредственного родителя вершины с номером \(i\). Если это число равно нулю, то вершина является корнем дерева.
В третьей строке находится число \(m\) (\(1 \le m \le 100\,000\)) — количество запросов. Каждая из следующих \(m\) строк содержит два различных числа \(a\) и \(b\) (\(1 \le a, b \le n\)).
Для каждого из \(m\) запросов выведите на отдельной строке число 1
, если вершина \(a\)
является одним из предков вершины \(b\), и 0
в противном случае.
Примеры
Входные данные
|
Выходные данные
|
|
|