Темы --> Информатика --> Алгоритмы --> Задачи на моделирование
---> 78 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 7 8 9 10 11 12 13 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

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

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

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

Вводятся N, K, M. Все числа натуральные и не превосходят 200.

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

Выведите одно число — количество деталей, которое может получиться по такой технологии.

Примеры
Входные данные
10 5 2
Выходные данные
4
Входные данные
13 5 3
Выходные данные
3
Входные данные
14 5 3
Выходные данные
4
Входные данные
13 9 4
Выходные данные
2
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Олег — известный поклонник соревнований по программированию. Он знает всех участников всех соревнований за последние десять лет и может про любого участника сказать, сколько задач решила команда с его участием на любом соревновании. И еще Олег очень любит теорию чисел.

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

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

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

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

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

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

Комментарий к примеру тестов.

В приведенном примере команды на 4 и 5 месте могут сдать по одной задаче, команда на 6 месте три, а команда на 7 месте — 4. Суммарно таким образом команды смогут сдать 9 задач

Примеры
Входные данные
7 12
12 6 4 3 3 1 0
Выходные данные
9
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
Задача на перекрашивание.
<з>Дан прямоугольник \(m \times n\), клетки которого раскрашены в три цвета. Можно выбрать квадрат \(2 \times 2\) и, если в нем какой-то цвет преобладает,
перекрасить весь этот квадрат \(2 \times 2\) в этот цвет.
Если в нем по две клетки двух цветов, то все его клетки можно
перекрасить в третий цвет. Требуется такими операциями
перекрасить весь прямоугольник в один цвет.

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

Числа \(m\), \(n\) (\(3 \le m, n \le 100\)) и раскрашенный прямоугольник.
Прямоугольник задается набором из \(m\) строк, в каждой из которых
\(n\) символов \(R\), \(G\) или \(B\).

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

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

                                                                                                  
Input
4 4
RBRR
GRGG
RRGB
GRRG
Output

1 1
1 2
1 3
3 1
2 2
2 3
3 3
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Крестьянин, возвращаясь с ярмарки, увидел на мосту странную картину. Какой-то человек сначала считал деньги в кошельке, затем бросал в реку несколько монеток, бежал на другой конец моста, снова считал деньги в кошельке, и опять бросал несколько монеток и шел на другой конец моста. Наконец, пересчитав свои деньги, он явно обрадовался и отправился в дальнейший путь.
– Что ты делал? Зачем ты бросал деньги в воду? – спросил крестьянин, догнав странного человека.
Видя, что свой секрет скрыть не удастся, человек рассказал, что мост волшебный, что, если бросить с моста ровно 29 копеек, то, как только перейдешь мост, количество рублей в оставшейся сумме денег превращаются в новой сумме в количество копеек, а копейки – в рубли, что, перейдя мост несколько раз, можно получить сумму, намного большую первоначальной.
– Самое важное – вовремя остановиться, – сказал человек и ушёл.
Крестьянин задумался, достал кошелек и пересчитал свои деньги. У него было 46 рублей 47 копеек. «29 копеек – не деньги, дай-ка попробую». После первого прохода у него получилось 18р.46к., после второго прохода – 17р.18к., а после третьего – 89р.16к. «Ух-ты! А еще больше можно получить?» – обрадовался крестьянин. После четвертого прохода у него стало 87р.88к., после пятого – 59р.87к., после шестого – 58р.59к., после седьмого – 30р.58к., после восьмого – 29р.30к., после девятого – 1р.29к., а после десятого осталась 1 копейка.
«Эх, дурачина, надо было после третьего раза остановиться!» – расстроился крестьянин.
Напишите программу, которая по начальной сумме денег у крестьянина определит оптимальное число проходов по мосту для получения наибольшей конечной суммы.

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

Во входном файле в первой строке содержится целое число M – количество копеек, которые нужно бросать с моста (1≤M≤50). Во второй строке содержатся два целых числа R и K через пробел – начальная сумма денег у крестьянина, выраженная в рублях и копейках (0≤R≤99, 0≤K≤99).

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

В выходной файл вывести наименьшее количество проходов по мосту для получения максимально возможной суммы.

Примеры
Входные данные
26
31 53
Выходные данные
4

Страница: << 7 8 9 10 11 12 13 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест