10834. Предок
Відправити розв'язок
Бали:
100
Time limit:
1.0s
Memory limit:
500M
Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python
Напишіть програму, яка для двох вершин дерева визначає, чи є одна з них предком іншої.
Формат вхідних даних
Перший рядок містить натуральне число \(𝑛\) (\(1≤𝑛≤100000 \)) - кількість вершин у дереві.
У другому рядку знаходяться \(𝑛\) чисел, \(𝑖\) -е з яких визначає номер безпосереднього батька вершини з номером \(𝑖 \). Якщо це число дорівнює нулю, то вершина є коренем дерева.
У третьому рядку знаходиться число \(m\) (\(1 \le m \le 100000\)) — кількість запитів.
Кожен з наступних \(𝑚\) рядків містить два різні числа \(𝑎\) і \(𝑏\) (\(1≤𝑎,𝑏≤𝑛 \)).
Формат вихідних даних
Для кожного з \(𝑚\) запитів виведіть на окремому рядку число 1, якщо вершина \(𝑎\) є одним із предків вершини \(𝑏 \), і 0 в іншому випадку.
Приклад вхідних даних
6
0 1 1 2 3 3
5
4 1
1 4
3 6
2 6
6 5
Приклад вихідних даних
0
1
1
0
0
Коментарі