Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
all-problems.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
70.17 Кб
Скачать

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, вуз

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]