eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Предок

Предок

Напишіть програму, яка для двох вершин дерева визначить, чи є одна з них предком іншої. \InputFile Перший рядок містить кількість вершин у дереві $n~(1 \le n \le 10^5)$. У другому рядку знаходиться $n$ чисел, $i$-те з яких визначає номер безпосереднього батька вершини з номером $i$. Якщо це число дорівнює нулю, то вершина є коренем дерева. У третьому рядку знаходиться кількість запитів $m~(1 \le m \le 10^5)$. Кожен з наступних $m$ рядків містить два різних числа $a$ та $b~(1 \le a, b \le n)$. \OutputFile Для кожного з $m$ запитів виведіть у окремому рядку число $1$, якщо вершина $a$ є одним з предків вершини $b$, і $0$ у протилежному випадку. \includegraphics{https://static.e-olymp.com/content/f8/f839ddbfbad9979a6b3360e47b7d9f9a1b069ea4.gif}
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
6
0 1 1 2 3 3
5
4 1
1 4
3 6
2 6
6 5
Вихідні дані #1
0
1
1
0
0
Автор Віталій Гольдштейн
Джерело Зимова Школа, Харків 2011, День 9