Страница: << 68 69 70 71 72 73 74 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Однажды, разбирая старые книги на чердаке, школьник Вася нашёл англо-латинский словарь. Английский он к тому времени знал в совершенстве, и его мечтой было изучить латынь. Поэтому попавшийся словарь был как раз кстати.

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

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

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

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

В первой строке содержится единственное целое число N (1 ≤ N ≤ 100) — количество английских слов в словаре. Далее следует N описаний. В первой строке каждого описания содержится английское слово. В следующей строке записано единственное число K ≥ 1 — количество переводов. В следующих K строках приведены переводы текущего английского слова на латинский, по одному в каждой строке.

Все слова состоят только из маленьких латинских букв. Общее количество слов на входе не превышает 100. Длина каждого слова не превосходит 15 символов.

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

Выведите соответствующий данному латинско-английский словарь в следующем формате. В первую строку запишите единственное целое число N — количество латинских слов в словаре. Далее выведите N описаний, каждое описание в отдельной строке: сначала латинское слово, затем отделённый пробелами дефис (символ номер 45), затем разделённые запятыми с пробелами переводы этого латинского слова на английский.

При этом порядок английских слов внутри перевода одного латинского может быть каким угодно. Кроме того, порядок следования латинских слов для перевода в словаре также не важен.

Примеры
Входные данные
3
apple
3
malum
pomum
popula
fruit
3
baca
bacca
popum
punishment
2
malum
multa
Выходные данные
7
baca - fruit
bacca - fruit
malum - apple, punishment
multa - punishment
pomum - apple
popula - apple
popum - fruit
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

В первом классе Глеб увлекался шахматами. К тому моменту он знал только лишь как ходит пешка: она может бить по диагонали влево-наверх и вправо-наверх, и ходить на клетку вверх только если та клетка не занята другой фигурой. Поэтому он придумал свой вариант шахмат.

Игра идёт на доске с N строками и M столбцами (1 ≤ N ≤ 100, 1 ≤ M ≤ 100) по следующим правилам. В нижней строке, имеющей номер 1, стоит P белых пешек, белых фигур на доске больше нет. На остальной части доски стоят разные чёрные фигуры (их названия Глеб не знает). Ходят только белые, цель — достичь хотя бы одной пешкой самой верхней строки, имеющей номер N (Глеб слышал, что в этой ситуации из пешки можно сделать ферзя, а с такой силой он безусловно сможет побить все остальные чёрные фигуры).

Как и в настоящих шахматах, если пешка Глеба бьёт чёрную фигуру, то она становится на её место, а побитая фигура убирается с доски. Считается, что Глеб выиграл, если он сумел достичь хотя бы одной пешкой самой верхней строки, в противном случае он проиграл. Помогите ему по заданной конфигурации всех фигур определить, сможет ли он выиграть.

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

Сначала вводятся четыре целых числа N, M, P, K (1 ≤ N ≤ 100, 1 ≤ M ≤ 100, 0 ≤ P ≤ M, 1 ≤ K ≤ (N - 1)M. Далее записано P различных чисел — номера столбцов pj (1 ≤ pj ≤ M), в которых стоят белые пешки. Далее идут K различных пар целых чисел — номера строк и столбцов чёрных фигур ri, ci (2 ≤ ri ≤ N, 1 ≤ ci ≤ M).

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

Если хотя бы одна пешка сможет достичь последнего ряда, выведите YES, в противном случае выведите NO.

Примеры
Входные данные
3 3 2 3
1 3
2 2
3 1
3 3
Выходные данные
YES
Входные данные
4 4 2 4
1 4
3 1
3 2
4 2
4 4
Выходные данные
NO
ограничение по времени на тест
3.0 second;
ограничение по памяти на тест
256 megabytes

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

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

Теперь Петя хочет восстановить исходную последовательность по этим карточкам. К сожалению возможно, что это можно сделать несколькими способами, но Петю устроят любые \(n\) чисел, образующие арифметическую прогрессию.

Петя не может сделать это вручную, поэтому обратился к вам за помощью.

Напомним что последовательность \(a_1, a_2, \ldots, a_n\) называется арифметической прогрессией, если \(a_i = a_{i-1} + d\) для всех \(i\) от 2 до \(n\) и некоторого \(d\). Число \(d\) называется разностью арифметической прогрессии.

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

В первой строке входного файла находится целое число \(n\) (\(1 \le n \le 100\,000\)). В следующей строке находится \(2n\) целых чисел по модулю не превосходящих \(10^9\) — числа, написанные на карточках, перечисленные в произвольном порядке. Гарантируется, что можно выбрать \(n\) из них так, чтобы они образовывали арифметическую прогрессию.

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

В первой строке выходного файла выведите \(a_1\) и \(d\) — первый элемент и разность найденной арифметической прогрессии. Если \(d = 0\), число \(a_1\) должно встречаться среди заданных чисел \(n\) раз.

Если существует несколько решений, выведите любое.

ограничение по времени на тест
3.0 second;
ограничение по памяти на тест
256 megabytes

Робот Бендер решил открыть аттракцион «Кручу-Верчу» с целью своего обогащения. Аттракцион состоит в следующем: Бендер прячет шарик под одним из \(k\) одинаковых стаканчиков, расположенных на позициях от 1 до \(k\), затем \(n\) раз быстро меняет местами какие-то пары стаканчиков, после чего предлагает отгадать под каким из стаканчиков сейчас шарик.

Бендер — робот, поэтому действует он по определенной программе. Бендер строит последовательность целых чисел \(x_i\), при этом \(x_1 = c\), а \(x_i = a \cdot x_{i-1} + b\) для \(i > 1\).

На \(i\)-ом шаге Бендер меняет местами стаканчики на позициях с номерами \((x_i \bmod k) + 1\) и \(\left( (x_i + 1) \bmod k \right) + 1\).

В начале робот прячет шарик под стаканчик на позиции с номером \(r\). Бендер хочет, чтобы после \(n\) обменов шарик оказался под стаканчиком на позиции с номером \(l\).

Найдите такие \(a\), \(b\) и \(c\), чтобы стаканчик с шариком переместился с \(r\)-й позиции на \(l\)-ю.

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

В единственной строке входного файла четыре целых числа \(n\), \(k\), \(r\) и \(l\) (\(1 \le n \le 10^5\); \(2 \le k \le 10\); \(1 \le r, l \le k\)).

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

Если таких чисел не существует, выведите в выходной файл единственное слово «Impossible». Иначе выведите три целых неотрицательных числа \(a\), \(b\) и \(c\). Числа не должны превосходить \(1000\).

ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

На днях Алиса делала уборку в своей комнате и нашла дневник, который вела в начальной школе. Там она с удивлением обнаружила запись о том насколько ее поразило то, что \(2 + 2 = 2 \cdot 2\). Невероятно, умножение и сложение дают один и тот же результат!

Эта запись натолкнула Алису на следующую задачу: пусть целые заданы числа \(a\) и \(b\). Сколько различных значений в наборе чисел

\(a + b\), \(\;a - b\), \(\;a \cdot b\), \(\;a / b\), \(\;a^b\),
\(b + a\), \(\;b - a\), \(\;b \cdot a\), \(\;b / a\), \(\;b^a\).

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

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

Первая строка входного файла содержит целые числа \(a\) и \(b\), разделенные пробелом (\(|a|, |b| \le 10^9\)).

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

Выведите в выходной файл количество различных чисел в приведенном наборе.


Страница: << 68 69 70 71 72 73 74 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест