---> 264 задач <---
Страница: << 10 11 12 13 14 15 16 >> Отображать по:
ограничение по времени на тест
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
#540
  
Источники: [ Командные олимпиады, ВКОШП, 2002, Задача E ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Задано описание команды TeX \frac (дробь). По данному TeX выражению необходимо подсчитать его высоту.

Издательская система LATEX предназначена для верстки сложных научно-технических текстов с большим количеством формул. Исходный файл для системы LATEX пишется на языке TEX и представляет собой текст документа, в который включены специальные символы и команды. Специальные символы и команды описывают размещение текста, в частности в математических формулах. Команда представляет собой последовательность латинских букв (регистр важен), перед которой стоит символ &lquot;\&rquot;. Так, команда \frac предназначена для описания дроби, в которой числитель расположен над знаменателем. Рассмотрим простейшую структуру команды \frac.

Команда \frac имеет два параметра — числитель и знаменатель. Перед самой командой не обязательно ставить пробел. Следом за ключевым словом frac записываются числитель и знаменатель. Если числитель и знаменатель имеют длину более одного символа, они заключаются в фигурные скобки. Если числитель или знаменатель записываются одной буквой или цифрой, их можно не брать в фигурные скобки. Если числитель записывается одним символом, то он отделяется от \frac хотя бы одним пробелом. Если знаменатель записывается одним символом, то он не отделяется пробелом от числителя. Произвольное ненулевое количество пробелов считается синтаксически эквивалентным одному пробелу. Нельзя разделять пробелами на части ключевое слово \frac.

Дадим также формальное определение выражения для нашей задачи:

<выражение> ::= <элемент> | <элемент><выражение>
<элемент> ::= <дробь> | "{" <выражение> "}" | <другой математический элемент>
<дробь> ::= "\frac" <тело дроби>
<тело дроби> ::= <числитель><знаменатель>
<числитель> ::= <пробелы><непробельный символ> | [<пробелы>] "{" <выражение> "}"
<знаменатель> ::= <непробельный символ> | [<пробелы>] "{" <выражение> "}"
<другой математический элемент> ::= произвольная последовательность печатных символов, не содержащая фигурных скобок и подстроки "\frac"
<пробелы> ::= " " | " " <пробелы>
<непробельный символ> ::= произвольный печатный символ, за исключением " ", "", "{" и "}"

Здесь вертикальная черта | означает "или", заключенная в квадратные скобки часть может отсутствовать, а символы, записанные в кавычках обозначают самих себя. Печатный символ - любой символ с ASCII кодом от 32 (пробел) до 127. Например, выражение

записывается на языке TEX как

\frac{a+b}{d+1}+\frac ax -\frac 2 {2+\frac{3}{y}}

Чтобы в печатаемом документе вывести формулу, необходимо вычислить ее высоту для используемого при печати шрифта. Шрифт определяет размеры \(S\) - высоту отдельного символа и \(D\) - высоту горизонтальной дробной черты. Значения \(S\) и \(D\) задаются целыми числами. Ваша задача - для заданного выражения на языке TEX вычислить высоту формулы.

Отметим, что если две дроби принадлежат одному выражению, то их дробные черты записываются на одном уровне, а если нет (например, относятся к числителям или знаменателям различных дробей), это свойство может и не выполняться. Чтобы проиллюстрировать применение этого правила, приведем два примера:

\frac{a+b}{\frac cd}+\frac{\frac ef}{g+h}

\frac{a+b+c}{\frac{\frac de}{g+h}}+\frac{i+j+k}{\frac{l+m}{\frac no}}

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

В первой строке вводятся целые положительные числа \(S\) и \(D\) (1 <= \(S\), \(D\) <= 10000). Следующая строка содержит описание формулы на TEX-е, длина строки не более 200 символов. Гарантируется, что формула синтаксически корректна, то есть фигурные скобки образуют правильную скобочную последовательность и строка содержит только печатные символы. Все символы "", встречающиеся в строке относятся к некоторой командной последовательности (не обязательно \frac), можете считать, что все прочие командные последовательности задают символы, высота которых равна \(S\). Числитель и знаменатель каждой дроби содержат хотя бы по одному символу, вся формула содержит хотя бы один символ.

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

Выведите единственное число - высоту формулы.

Примеры
Входные данные
10 2
\frac{a+b}{d+1}+\frac ax -\frac 2 {2+\frac{3}{y}}
Выходные данные
34
Входные данные
10 2
no fractions here
Выходные данные
10
Входные данные
10 2
\frac        {\alpha}          {\beta+\sin{2+x}}
Выходные данные
22
Входные данные
10 2
\cos{\frac{\alpha}b}
Выходные данные
22
Входные данные
10 2
\frac a  {sin{a}}
Выходные данные
22
Входные данные
10 2
\frac{a+b}{\frac cd}+\frac{\frac ef}{g+h}
Выходные данные
46
Входные данные
10 2
\frac{a+b+c}{\frac{\frac de}{g+h}}+\frac{i+j+k}{\frac{l+m}{\frac no}}
Выходные данные
46
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Задана таблица, некоторые клетки содержат города. Расстояние между городами определяется как |x1 - x2| + |y1 - y2|. Требуется выбрать место для столицы так, чтобы суммарное расстояние до всех городов было минимальным. Столица не должна совпадать с существующим городом.

В некотором царстве, в некотором государстве было \(N\) городов, и все они, судя по главной карте императора, имели целые координаты. В те годы леса были дремучие, дороги же строить умели только параллельно осям координат, так что расстояние между двумя городами определялось как |\(x_1\) - \(x_2\)| + |\(y_1\) - \(y_2\)|.

Император решил построить \(N\)+1-ый город и сделать его столицей своего государства, при этом координаты столицы также должны быть целыми. Место для столицы следует выбрать так, чтобы среднее арифметическое расстояний между столицей и остальными городами было как можно меньше. Однако, разумеется, столицу нельзя строить на месте существующего города.

Нелегкая задача выбрать место для столицы поручена Вам.

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

В первой строке вводится число \(N\) - количество городов (1 <= \(N\) <= 100). Следующие \(N\) строк содержат координаты городов - пары целых чисел, не превышающих 1000 по абсолютной величине.

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

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

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

Ваня и Петя играют в следующую игру. Ваня пишет на бумаге какую-либо перестановку чисел от 1 до \(N\) (то есть выписывает все числа от 1 до \(N\) в некотором порядке) и расставляет на столе в ряд \(N\) предметов. После этого Петя переставляет предметы в соответствии с Ваниной перестановкой. А именно, Петя выполняет следующие действия: если i-ое число в Ваниной перестановке равно \(a_i\), то Петя ставит предмет, который стоит на i-ом месте, на место с номером \(a_i\).

Обозначим предметы числами от 1 до \(N\). Тогда начальное расположение предметов можно обозначить последовательностью чисел (1, 2, ..., \(N\)). К примеру, если \(N\) = 5, то начальное расположение предметов есть (1, 2, 3, 4, 5). Пусть Ваня написал перестановку <2, 5, 4, 3, 1>. Это значит, что после перемещения предметов они окажутся расставлены в следующем порядке: (5, 1, 4, 3, 2).

Однако, переставив предметы, Петя не останавливается на достигнутом и вновь переставляет их в соответствии с Ваниной перестановкой. Снова, если i-ое число в Ваниной перестановке равно \(a_i\), то Петя ставит предмет, который стоит на i-ом месте на место с номером \(a_i\). Так, если в приведенном выше примере повторно применить перестановку, предметы окажутся расположены в следующем порядке: (2, 5, 3, 4, 1).

Таким образом, Петя переставляет предметы в соответствии с Ваниной перестановкой, пока их расположение не окажется таким же, как исходное. В нашем примере Пете потребуется сделать еще 4 действия, порядок предметов после каждого из них будет следующим: (1, 2, 4, 3, 5), (5, 1, 3, 4, 2), (2, 5, 4, 3, 1), (1, 2, 3, 4, 5). Всего Пете потребовалось применить перестановку 6 раз.

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

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

Вводится единственное целое число \(N\) - количество предметов (1 <= \(N\) <= 100).

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

Выведите перестановку чисел от 1 до \(N\) такую, что количество действий, которое придется сделать Пете, максимально. Если таких перестановок несколько, можно вывести любую.

Примеры
Входные данные
5
Выходные данные
2 1 4 5 3 

ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Требуется упорядочить числа от 1 до N. Разрешается менять только соседние числа и нельзя переставлять число, которое уже стоит на своем месте.

Фирма Macrohard получила заказ от армии одной страны на реализацию комплекса программного обеспечения для нового суперсекретного радара. Одной из наиболее важных подпрограмм в разрабатываемом комплексе является процедура сортировки.

Однако в отличие от обычной сортировки, эта процедура должна сортировать не произвольный массив чисел, который передается ей на вход, а специальный заранее заданный массив из \(N\) чисел, в котором записана некоторая фиксированная перестановка чисел от 1 до \(N\), и кроме того, ни одно число в нем изначально не находится на своем месте (то есть на позиции с номером i изначально не находится число \(i\)).

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

Например, если массив из 6 элементов в некоторый момент имеет вид <2, 1, 3, 6, 4, 5>, то можно поменять местами 1 и 2, 6 и 4 или 4 и 5, а менять местами 1 и 3 или 3 и 6 нельзя, поскольку число 3 находится на своем месте (на позиции с номером 3).

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

Подсказка

Найти такую последовательность обменов всегда возможно.

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

В первой строке вводится целое число \(N\) - размер входного массива (1 <= \(N\) <= 100). Вторая строка содержит \(N\) целых чисел - исходную перестановку чисел от 1 до \(N\) в массиве. Изначально ни одно число не стоит на своем месте.

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

Выведите \(K\) строк, где \(K\) - количество обменов в Вашей сортировке. На каждой строке выведите по два числа \(x_i\) и \(y_i\), разделенных пробелом - позиции в массиве, числа на которых следует поменять местами на i-ом обмене. Помните, что должно выполняться условие |\(x_i\) - \(y_i\)| = 1 и что нельзя перемещать число, которое уже стоит на своем месте.

Пояснение к примеру

В приведенном примере массив последовательно имеет следующий вид:
исходный вид массива
2 3 1 6 4 5
поменяли местами числа на 2 и 3 позициях
2 1 3 6 4 5
поменяли местами числа на 1 и 2 позициях
1 2 3 6 4 5
поменяли местами числа на 4 и 5 позициях
1 2 3 4 6 5
поменяли местами числа на 5 и 6 позициях
1 2 3 4 5 6

Примеры
Входные данные
6
2 3 1 6 4 5
Выходные данные
2 3
1 2
4 5
5 6

Страница: << 10 11 12 13 14 15 16 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест