e-olymp
Змагання

ADA Classes - Depth First Search

Предок

Напишіть програму, яка для двох вершин дерева визначить, чи є одна з них предком іншої.

Вхідні дані

Перший рядок містить кількість вершин у дереві n (1n100000). У другому рядку знаходиться n чисел, i-те з яких визначає номер безпосереднього батька вершини з номером i. Якщо це число дорівнює нулю, то вершина є коренем дерева.

У третьому рядку знаходиться кількість запитів m (1m100000). Кожен з наступних m рядків містить два різних числа a та b (1a, bn).

Вихідні дані

Для кожного з m запитів виведіть у окремому рядку число 1, якщо вершина a є одним з предків вершини b, і 0 у протилежному випадку.

Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані
6
0 1 1 2 3 3
5
4 1
1 4
3 6
2 6
6 5
Вихідні дані
0
1
1
0
0
Автор Віталій Гольдштейн
Джерело Зимова Школа, Харків 2011, День 9