---> 112 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 17 18 19 20 21 22 23 Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Преподаватель: ...- И впишем в сферу икосаэдр...
Студенты: - Чего, чего???
Преподаватель: - Специально для AD&D-шников -
и впишем в сферу D20...


Во многих ролевых играх применяется такой формат описания случайных чисел: \(XdY+Z\). Это означает, что для получения такого случайного числа необходимо подбросить \(X\) игральных костей, по \(Y\) граней на каждой и к результату прибавить фиксированное число \(Z\).

Пример: \(2d6+4\) означает что для получения случайного числа надо взять \(6\)-гранные игральные кости в количестве \(2\) штук и к результату броска прибавить \(4\).

Напишите программу, которая по заданной записи формата \(XdY+Z\) определяет минимальное и максимальное число, которое можно получить по такому правилу.

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

В файле input.txt записано число \(X\) (целое, положительное, не превышает 1000), затем без пробела следует символ ‘d’, за которым также без пробела записано число \(Y\) (целое, положительное, не превышает 1000), затем также без пробела следует один из знаков ‘+’ или ‘-’, после этого знака также без пробела указывается число \(Z\) (целое, неотрицательное, не превышает 1000).

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

В файл output.txt выведите два числа – минимальный и максимальный результат, который можно получить при описанном броске.

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

Комментарий к первому примеру: минимальное число, которое выпадает на 6-гранном кубике равно 1, прибавляя к нему 9 получим минимально возможный результат; максимальное число, которое может выпасть равно 6, прибавим к нему 9 и получим максимальный результат броска

Примеры
Входные данные
1d6+9
Выходные данные
10 15
Входные данные
1d20-10
Выходные данные
-9 10
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

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

Естественно, такая реформа привела в ужас торговцев и производителей различных товаров, так как для удобства покупателей необходимо перемаркировать все товары новыми датами годности. Напишите программу, которая по дате в старом календаре будет вычислять дату в новом.

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

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

В первой строке файла input.txt записано число \(N\) (целое, положительное, не превышает 30000) – количество дней в году, во второй строке записано число \(X\) – количество месяцев, которое было в календаре до королевской реформы (целое, положительное, не превышает \(N-1\)), в третьей строке записаны два числа – дата по старому календарю (номер дня и номер месяца).

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

В файл output.txt выведите номера дня и месяца, соответствующие указанной старой дате в новом календаре.

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

Комментарий к первому примеру: был год в 48 дней, то есть 2 месяца по 24 дня в каждом; 24 день 2-го месяца – это последний день такого года. Когда добавился один месяц – их стало 3, по 16 дней в каждом, то есть последний день года будет 16-м числом 3-го месяца.

Примеры
Входные данные
48
2
24 2
Выходные данные
16 3
Входные данные
48
3
15 1
Выходные данные
3 2

Страница: << 17 18 19 20 21 22 23 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест