eolymp
bolt
Try our new interface for solving problems
Məsələlər

Предок

Предок

Напишите программу, которая для двух вершин дерева определяет, является ли одна из них предком другой. \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}
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
6
0 1 1 2 3 3
5
4 1
1 4
3 6
2 6
6 5
Çıxış verilənləri #1
0
1
1
0
0
Müəllif Vitaly Goldstein
Mənbə Winter School, Kharkov, 2011, Day 9