Страница: 1 Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Необходимо найти три наиболее удаленные вершины дерева. Удаленность считается как сумма расстояний между парами вершин.

В одном государстве имеется \(N\) городов. Некоторые города соединены дорогами, причем для любых двух городов \(A\) и \(B\) выполняется следующее свойство: существует ровно один способ попасть из города \(A\) в город \(B\) если можно перемещаться только по дорогам и не разрешается проезжать по одной и той же дороге более одного раза.

Недавно президента этой страны заинтересовал вопрос: какие три города являются наиболее удаленными друг от друга. А именно, назовем взаимной удаленностью друг от друга трех городов \(A\), \(B\) и \(C\) минимальное количество дорог, которое необходимо использовать, чтобы доехать от \(A\) до \(B\), затем от \(B\) до \(C\) и затем от \(C\) до \(A\) (при этом разрешается использовать одну и ту же дорогу в различных путешествиях).

Требуется найти три города, для которых взаимная удаленность друг от друга будет максимальной.

Например, для пяти городов, соединенных дорогами так, как это показано на рисунке 1, три наиболее удаленных друг от друга города - это города 1, 2 и 5 (взаимная удаленность равна 2 + 3 + 3 = 8), а для городов на рисунке 2 - это любые три города, выбранные из множества {1, 2, 4, 5} (удаленность 2 + 2 + 2 = 6).

Входные данные

В первой строке вводится число \(N\) - количество городов (3 <= \(N\) <= 1000). Следующие N строк содержат описания городов. Описание i-го города сначала содержит \(K_i\) - количество городов, с которыми он соединен дорогами (1 <= \(K_i\) < \(N\)), а затем \(K_i\) чисел - номера городов, с которыми он соединен. Гарантируется, что входные данные корректны - то есть если есть дорога из города A в город B, то есть и дорога из города B в город A, причем для всех пар городов выполняется свойство, указанное в условии задачи.

Выходные данные

Выведите три различных числа - номера трех наиболее удаленных друг от друга городов в произвольном порядке. Если решений несколько, выведите любое из них

Примеры
Входные данные
5
1 3
1 3
3 1 2 4
2 3 5
1 4
Выходные данные
5 2 1
Входные данные
5
1 3
1 3
4 1 2 4 5
1 3
1 3
Выходные данные
1 2 4
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Вызов функции осуществляется с одним числовым параметром. Функция прибавляет один к счетчику и вызывает заданный набор функций с параметром, на 1 меньшим. При параметре 0 функция прекращает работу. Требуется вывести значение счетчика.

В околоземном космическом пространстве накопилось много мусора, поэтому ученые сконструировали специальный аппарат - ловушку для космического мусора. Для того, чтобы хорошо собирать мусор, этот аппарат должен двигаться по достаточно сложной траектории, сжигая собранный по пути мусор. Ловушка может передвигаться в пространстве по 6 направлениям: на север (\(N\)), на юг (\(S\)), на запад (\(W\)), на восток (\(E\)), вверх (\(U\)) и вниз (\(D\)). Движением ловушки управляет процессор. Программа движения задается шестью правилами движения, которые соответствуют каждому из указанных направлений. Каждое такое правило представляет собой строку символов из множества {\(N\), \(S\), \(W\), \(E\), \(U\), \(D\)}.

Команда ловушки есть пара из символа направления и параметра - целого положительного числа \(M\). При исполнении такой команды ловушка в соответствии со своей программой выполняет следующее. Если параметр больше 1, то она перемещается на один метр в направлении, которое указано в команде, а затем последовательно выполняет команды, заданные правилом для данного направления, с параметром меньше на 1. Если же параметр равен 1, то просто перемещается на один метр в указанном направлении.

Пусть, например, заданы следующие правила:


Тогда при выполнении команды \(S\)(3) мусорщик выполнит следующие действия:

1) переместится на 1 метр в направлении \(S\)
2) выполнит последовательно команды \(N\)(2), \(U\)(2), \(S\)(2), \(D\)(2), \(D\)(2), \(U\)(2), \(S\)(2), \(E\)(2).
Если далее проанализировать действия мусорщика при выполнении команд из пункта 2, получим, что в целом он совершит следующие перемещения:

SNNUUSNUSDDUSEDWEDDWEDUUSNUSDDUSEEПо заданной команде определите, какое общее количество перемещений на один метр совершит ловушка при выполнении заданной команды. В приведенном примере это количество равно 34.

Входные данные

Первые шесть строк входных данных задают правила для команд с направлением \(N\), \(S\), \(W\), \(E\), \(U\) и \(D\) соответственно. Каждая строка содержит не более 100 символов (и может быть пустой). Следующая строка содержит команду ловушки: сначала символ из множества {\(N\), \(S\), \(W\), \(E\), \(U\), \(D\)}, затем пробел и параметр команды - целое положительное число, не превышающее 100.

Выходные данные

Выведите единственное число - количество перемещений, которое совершит ловушка. Гарантируется, что ответ не превышает \(10^9\).

Примеры
Входные данные
N
NUSDDUSE
UEWWD

U
WED
S 3
Выходные данные
34

Страница: 1 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест