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