Дано количество сообщений на некотором форуме (\(N\) натуральное, не более \(1000\)).
Также таблица, в которой указано какие сообщения на каком уровне находятся.
В первой колонке таблицы написаны номера сообщений (натуральные числа, не превосходят \(10^6\)).
Во второй колонке напротив номера сообщения стоит либо 0, если сообщение является корнем (началом) некоторой темы, либо номер того сообщения, ответом на которое является текущее.
Пример. Следующие исходные данные:
4 1 0 2 0 3 1 4 3соответствуют такой структуре форума:
Пусть администратор форума желает удалить сообщение с номером \(k\) (а также всю подветвь форума от этого сообщения). Сколько сообщений всего будет удалено (включая само сообщение номер \(k\))?
Сначала вводится натуральное число \(N\) (не превышает \(1000\)) – общее количество сообщений на форуме.
Затем вводится \(N\) строк таблицы, по \(2\) числа на строке – номер текущего сообщения и номер того сообщения, ответом на которое является текущее (или \(0\)).
В последней строке вводится натуральное число \(k\). Гарантируется, что сообщение с номером \(k\) существует.
Выведите количество сообщений, которое будет удалено.
1 1 0 1
1
Дано количество сообщений на некотором форуме (\(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
Дано количество сообщений на некотором форуме (\(N\) натуральное, не более \(1000\)).
Также таблица, в которой указано какие сообщения на каком уровне находятся.
В первой колонке таблицы написаны номера сообщений (натуральные числа, не превосходят \(10^6\)).
Во второй колонке напротив номера сообщения стоит либо 0, если сообщение является корнем (началом) некоторой темы, либо номер того сообщения, ответом на которое является текущее.
Пример. Следующие исходные данные:
4 1 0 2 0 3 1 4 3соответствуют такой структуре форума:
Для сообщения номер \(A\) определить номер корневого сообщения (самого первого сообщения ветки форума, которая содержит сообщение номер \(A\)).
Сначала вводится натуральное число \(N\) (не превышает \(1000\)) – общее количество сообщений на форуме.
Затем вводится \(N\) строк таблицы, по \(2\) числа на строке – номер текущего сообщения и номер того сообщения, ответом на которое является текущее (или \(0\)).
В последней строке вводится число \(A\) - номер сообщения. Гарантируется, что сообщение с такими номером существует.
Выведите единственное число – номер корневого сообщения для темы, в которой находится сообщение \(A\).
1 1 0 1
1
2 1 0 5 1 5
1
Дано количество сообщений на некотором форуме (\(N\) натуральное, не более \(1000\)).
Также таблица, в которой указано какие сообщения на каком уровне находятся.
В первой колонке таблицы написаны номера сообщений (натуральные числа, не превосходят \(10^6\)).
Во второй колонке напротив номера сообщения стоит либо 0, если сообщение является корнем (началом) некоторой темы, либо номер того сообщения, ответом на которое является текущее.
Пример. Следующие исходные данные:
4 1 0 2 0 3 1 4 3соответствуют такой структуре форума:
Вывести весь «путь» от корня форума до сообщения номер \(A\) включительно, номера сообщений разделять знаком ‘#’ (решетка).
Сначала вводится натуральное число \(N\) (не превышает \(1000\)) – общее количество сообщений на форуме.
Затем вводится \(N\) строк таблицы, по \(2\) числа на строке – номер текущего сообщения и номер того сообщения, ответом на которое является текущее (или \(0\)).
В последней строке вводится число \(A\) - номер сообщения. Гарантируется, что сообщение с такими номером существует.
Выведите строку, которая описывает полный путь от корня форума (включая начальное число \(0\)) до сообщения номер \(A\).
1 1 0 1
0#1
3 1 0 4 1 10 1 4
0#1#4
Дано количество сообщений на некотором форуме (\(N\) натуральное, не более \(1000\)).
Также таблица, в которой указано какие сообщения на каком уровне находятся.
В первой колонке таблицы написаны номера сообщений (натуральные числа, не превосходят \(10^6\)).
Во второй колонке напротив номера сообщения стоит либо 0, если сообщение является корнем (началом) некоторой темы, либо номер того сообщения, ответом на которое является текущее.
Пример. Следующие исходные данные:
4 1 0 2 0 3 1 4 3соответствуют такой структуре форума:
Найти количество сообщений в самой длинной ветке форума.
Сначала вводится натуральное число \(N\) (не превышает \(1000\)) – общее количество сообщений на форуме.
Затем вводится \(N\) строк таблицы, по \(2\) числа на строке – номер текущего сообщения и номер того сообщения, ответом на которое является текущее (или \(0\)).
Выведите одно число – количество сообщений в самой длинной ветке форума.
1 1 0
1
2 1 0 7 1
2