Темы --> Информатика --> Язык программирования
    Процедуры и функции(96 задач)
    Массивы(232 задач)
    Типы данных(356 задач)
    Циклы(177 задач)
    Условный оператор (if)(164 задач)
    Python(260 задач)
    Standard Template Library(2 задач)
---> 952 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 177 178 179 180 181 182 183 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Даны три строки, состоящие из строчных латинских букв. С этими строками можно производить следующие операции: либо заменить один символ строки на два таких же символа (например, заменить символ «a» на «aa»), либо, наоборот, заменить два подряд идущих одинаковых символа на один такой же символ.

Необходимо при помощи этих операций сделать все три строки равными какой-то другой общей строке S либо определить, что это сделать невозможно. При этом нужно минимизировать общее количество операций.

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

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

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

Если при помощи указанных операций возможно сделать все три строки равными, выведите такую строку S , что суммарное число операций, необходимых для преобразования всех трёх данных строк к строке S , будет минимальным. Если этого сделать нельзя, программа должна вывести одно слово IMPOSSIBLE (заглавными буквами).

Примечание

Решение, которое выводит правильный ответ только на тестах из условия и тех тестах, на которых ответом является слово IMPOSSIBLE, будет оцениваться в 0 баллов.

Примеры
Входные данные
aaaza
aazzaa
azzza
Выходные данные
aazza
Входные данные
xy
xxyy
yx
Выходные данные
IMPOSSIBLE
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт

Обычно в условии задач вам долго и нудно рассказывают, что нужно сделать. Но нам это показалось скучным. В этой задаче мы сделаем по-другому. Мы скажем вам, что не нужно делать:

Вы не должны сортировать массив.

Дана последовательность различных целых чисел. Переставьте её как вам угодно. Единственное требование: получившаяся последовательность не должна быть отсортирована — ни по возрастанию, ни по убыванию.

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

В первой строке содержится единственное число T (T ≤ 1 000) — количество тестов. Каждый тест состоит из двух строк:

В первой строке содержится единственное число N (3 ≤ N ≤ 1 000) — длина последовательности чисел.

В следующей строке содержатся N различных целых чисел — элементы последовательности. Гарантируется, что каждое число не меньше  - 231 и не превосходит 231 - 1.

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

Для каждого теста в отдельной строке выведите новую последовательность.

Примеры тестов

Входные данные
2
5
1 2 3 4 5
8
3 1 4 47 5 9 2 6
Выходные данные
5 1 4 3 2
3 1 4 47 5 9 2 6
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

В некотором королевстве есть \(N\) провинций. Король пожелал объединить все их под своей самодержавной властью. Естественно, чтобы никто не догадался об этих планах, он будет это делать поэтапно, а именно: раз в год он будет объединять какие-то две провинции в одну. Чтобы жителям обеих провинций не было обидно, новому территориальному образованию будет присвоено новое название, которое будет отличаться от обоих старых названий. Естественно, это потребует выпуска новых паспортов для жителей обеих провинций.

Очевидно, что если в первой провинции \(p_i\) жителей, а во второй – \(p_j\) жителей, то для них надо выпустить \(p_i + p_j\) новых паспортов.

На следующий год король объединяет еще какие-то две провинции. И так далее, до тех пор пока вся территория королевства не будет объединена в одну большую «провинцию». Определите, какое наименьшее количество новых паспортов придется выпустить, если король будет объединять провинции оптимально с этой точки зрения.

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

В первой строке вводится число \(N\) (натуральное, не превышает \(10^5\)) – количество провинций. Затем вводится \(N\) чисел – количество жителей каждой провинции (натуральное, не превосходит \(10^9\)). Гарантируется, что изначально в королевстве хотя бы две провинции.

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

Выведите единственное число – количество новых паспортов, которые придется выпустить.

Примеры
Входные данные
2
2 6
Выходные данные
8
Входные данные
3
6 2 4
Выходные данные
18
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

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

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

Входная строка содержит два числа, разделённых пробелом: число символов в алфавите \(N\) и длину слов \(K\) (\(0\) < \(N, K\) <= \(10\)).

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

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

Примеры
Входные данные
4 1
Выходные данные
2
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Английский фермер тщательно следит за своим газоном, в котором в каждой точке с целыми координатами растет один пучок травы. Как-то фермер воспользовался газонокосилкой и постриг траву на некотором прямоугольном участке газона. Стороны этого участка параллельны осям координат, а две противоположные вершины расположены в точках \((x_1, y_1)\) и \((x_2, y_2)\). Следует отметить, что пучки травы, находящиеся на границе этого прямоугольника, также были пострижены.

Для полива газона фермер установил в точке с координатами \((x_3, y_3)\) дождевальную установку, радиус действия которой равен \(r\). Таким образом, установка начала поливать все пучки, расстояние от которых до точки \((x_3, y_3)\) не превышало \(r\).

Фермера заинтересовал следующий вопрос: сколько пучков травы оказалось и пострижено, и полито в этот день? Требуется написать программу, которая позволит дать ответ на вопрос фермера.

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

Первая входная строка содержит четыре целых числа: \(x_1, y_1, x_2, y_2 (−100 000 \le x_1 < x_2 \le 100 000; −100 000 \le y_1 < y_2 \le 100 000)\). Во второй входной строке записаны три целых числа: \(x_3, y_3, r (−100 000 \le x_3, y_3 \le 100 000; 1 \le r \le 100 000)\).

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

Необходимо вывести одно целое число – число пучков травы, которые были и пострижены, и политы.

Подзадача 1

Все координаты не превосходят 1000. Решение оценивается в 30 баллов.

Подзадача 2

Радиус и стороны прямоугольника не превосходят 10000. Решение оценивается в 30 баллов.

Подзадача 3

Дополнительные ограничения отсутствуют. Решение оценивается в 40 баллов.

Примеры
Входные данные
0 0 5 4
4 0 3
Выходные данные
14
Входные данные
-100 -100 100 100
0 0 50
Выходные данные
7845
Входные данные
0 0 10 10
100 100 5
Выходные данные
0

Страница: << 177 178 179 180 181 182 183 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест