
- •1. «Перестановки» (5 баллов)
- •2. «Электронная таблица» (15 баллов)
- •3. «Упаковка символов» (15 баллов)
- •4. «Двойная решетка» (10 баллов)
- •1. «Совершенные числа» (5 баллов)
- •2. «Умножение многочленов» (10 баллов)
- •3. «Электронная таблица» (15 баллов)
- •4. «Упаковка символов» (20 баллов)
- •1. «Граница многоугольника» (10 баллов)
- •2. «Гомер Симпсон» (5 баллов)
- •3. «Головоломка умножения» (20 баллов)
- •4. «Дробная арифметика» (15 баллов)
- •1. «Выражение» (10 баллов)
- •2. «Возрастающая подпоследовательность» (15 баллов)
- •3. «Игра "Даты"», «2012» (15 баллов)
- •4. «Статическая сложность» (15 баллов)
- •2011, Область
- •1. «Поедание сыра» (20 баллов)
- •2. «Разбиение на слагаемые» (5 баллов)
- •3. «Цирковое шоу» (15 баллов)
- •4. «Красивая таблица» (10 баллов)
2. «Гомер Симпсон» (5 баллов)
Обеденный перерыв Гомера Симпсона составляет T мс. Один гамбургер Гомер съедает за N мс, один чизбергер — за M мс. Требуется найти максимальное суммарное число гамбургеров и чизбургеров, которые Гомер может съесть с течение обеденного перерыва.
Ограничения:
,
все числа целые.
Ввод из файла homer.in. В первой строке находятся три числа — M, N, T, разделенные пробелами.
Вывод в файл homer.out. Вывести максимальное суммарное число гамбургеров и чизбургеров. Если остается какое-то время, требуется указать его через пробел. Предпочтителен вариант, когда дополнительного времени остается как можно меньше.
Пример
Ввод 1 Ввод 2 Ввод 3
3 5 54 3 5 55 4 4 6
Вывод 1 Вывод 2 Вывод 3
18 17 1 2
3. «Головоломка умножения» (20 баллов)
В головоломку умножения играют с рядом карт, каждая из которых содержит одно положительное целое число. Во время хода игрок убирает одну карту из ряда и получает число очков, равное произведению числа на убранной карте и чисел на картах, лежащих непосредственно слева и справа от нее. Не разрешено убирать первую и последнюю карты ряда. После последнего хода в ряду остается только две карты.
Цель игры — убрать карты в таком порядке, чтобы минимизировать общее количество набранных очков.
Например, если карты содержат числа 10, 1, 50, 20 и 5, игрок может взять карту с числом 1, затем 20 и 50, и подсчитать очки по следующей формуле:
/
Если бы он взял карты в обратном порядке, т. е. 50, затем 20, затем 1, количество очков было бы таким:
.
Ввод из файла mpuzzle.in. В первой строке находится число карт N, во второй – разделенные пробелами N чисел на картах.
Ограничения:
,
числа на картах целые от 1 до 100.
Вывод в файл mpuzzle.out. Вывести одно целое число – минимально возможное число очков.
Пример
Ввод
6
10 1 50 50 20 5
Вывод
3650
4. «Дробная арифметика» (15 баллов)
Напишите программу, реализующую сложение, вычитание, умножение и деление дробей. Формат дробей во входных и выходных данных:
знак числа (пишется только в случае, когда его отсутствие изменяет число);
целая часть числа (нулевая целая часть не пишется, если есть числитель и знаменатель);
пробел (не пишется, если отсутствует целая или дробная часть);
числитель (если он не равен нулю);
знак / (если есть числитель);
знаменатель (если есть числитель).
Примеры представления дробных чисел: -7 3/4, 8 1/2, -7/11, 0, 11.
Ограничения (как на входные, так и на выходные данные): целая часть может принимать значения из диапазона 0…30 000, числитель и знаменатель могут принимать значения от 1 до 30 000, при делении второй операнд не равен нулю.
Ввод из файла frac-ar.in. В первой строке вводится дробь (первый операнд), во второй – знак операции («+» – сложение, «-» – вычитание, «*» – умножение, «/» – деление), в третьей строке – дробь (второй операнд). Обе дроби могут быть сократимы.
Вывод в файл frac-ar.out. В единственной строке выводится несократимая правильная дробь (результат) в описанном формате.
Пример
Ввод
-3 1/6
+
2/4
Вывод
-2 2/3
2011, вуз