Задача №113660. Форум. Путь между сообщениями
Несмотря на то, что некоторые задачи этого блока можно решить с помощью циклов, рекомендуем написать решение с помощью рекурсивной функции.
Дано количество сообщений на некотором форуме (\(N\) натуральное, не более \(1000\)).
Также таблица, в которой указано какие сообщения на каком уровне находятся.
В первой колонке таблицы написаны номера сообщений (натуральные числа, не превосходят \(10^6\)).
Во второй колонке напротив номера сообщения стоит либо 0, если сообщение является корнем (началом) некоторой темы, либо номер того сообщения, ответом на которое является текущее.
Пример. Следующие исходные данные:
4 1 0 2 0 3 1 4 3соответствуют такой структуре форума:

Является ли сообщение номер \(A\) «предком» сообщения номер \(B\) (то есть можно ли перемещаясь только «вниз» по веткам форума дойти от сообщения номер \(A\) к сообщению номер \(B\)?
Сначала вводится натуральное число \(N\) (не превышает \(1000\)) – общее количество сообщений на форуме.
Затем вводится \(N\) строк таблицы, по \(2\) числа на строке – номер текущего сообщения и номер того сообщения, ответом на которое является текущее (или \(0\)).
В последней строке вводятся числа \(A\) и \(B\) – номера сообщений. Гарантируется, что сообщения с такими номерами существуют.
Выведите слово YES, если сообщение \(A\) является «предком» сообщения \(B\), и NO – в противном случае.
Для определенности будем считать, что сообщение является предком самого себя.
1 1 0 1 1
YES
3 1 0 4 1 9 4 9 4
NO