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

Коментарі

Ще немає коментарів.