В королевстве Флатландия наступили тяжелые времена. В пещерах неподалеку от столицы поселился ужасный Черный Дракон. Каждую ночь он выползал на охоту. Много людей погубил он, много построек уничтожил.
Король Флатландии понял, что дальше так продолжаться не может, и нанял отважного Рыцаря, чтобы тот победил рептилию.
Рыцарь принял предложение Короля и начал готовиться к битве. Сам он участия в битве принимать не желал (не рыцарское это дело –– мечом махать), поэтому решил собрать войско из копейщиков. Но копейщикам надо платить, а у Рыцаря из-за кризиса осталось совсем немного сбережений. Помогите ему определить минимальное число копейщиков, необходимое для победы над Черным Драконом.
У копейщика и у дракона есть два параметра: количество очков здоровья и наносимый противнику урон.
В ходе сражения дракон и отряд копейщиков обмениваются ударами. Первым наносит удар отряд копейщиков. При этом дракон получает урон, равный суммарной силе отряда копейщиков. Если дракон не погибает, то он наносит отряду копейщиков ответный удар. Если урон превосходит количество очков здоровья одного копейщика, то он погибает, а следующей копейщик в отряде получает оставшийся урон. Если от этого урона второй копейщик также погибает, то оставшийся урон переходит к третьему копейщику и так далее. Затем удар наносят оставшиеся в живых в отряде копейщики. Бой заканчивается, когда дракон погибает.
Требуется написать программу, которая определяет минимальное количество копейщиков, которое необходимо нанять Рыцарю, чтобы победить Черного Дракона.
Вводятся четыре натуральных числа через пробел: Hd, Dd, hp, dp –– количество очков здоровья дракона, урон, наносимый драконом, количество очков здоровья одного копейщика и урон, наносимый одним копейщиком. Все числа положительные и не превосходят 109.
Выведите на экран одно целое число –– минимальное число копейщиков, необходимое для победы над драконом.
500 50 10 10
20
500 28 10 10
15
Андрей Сергеевич — учитель математики в начальной школе. Вчера на уроке он записал на доске выражение вида
a1 ? a2 ? ... ? aN - 1 ? aN = S
и попросил детей заменить вопросительные знаки на знаки сложения и умножения так, чтобы получилось верное равенство. Разумеется, дети быстро справились с заданием. Особенно понравилось Андрею Сергеевичу то, что мальчик Петя нашел сразу два варианта расстановки знаков. Тогда он попросил класс посчитать, сколько всего существует вариантов правильной расстановки знаков. Напишите программу, которая решает данную задачу.
В первой строке содержится число N (1 ≤ N ≤ 30) — количество чисел в левой части равенства, записанного на доске и число S, записанное в правой части равенства (1 ≤ S ≤ 106). В следующей строке даны N целых чисел в том порядке, в каком они были выписаны на доске. Все числа неотрицательные и не превышают 106.
Выведете на экран одно число –— количество различных вариантов расстановки знаков между числами, приводящих к правильному результату в записанном на доске выражении.
2 4 2 2
2
2 46 4 6
0
4 8 2 2 2 2
5
Столица Флатляндии знаменита среди туристов своими достопримечательностями и, в частности, площадью в самом центре города, где проходят все культурные мероприятия и праздники. Площадь представляет собой квадратный участок земли размером N × N метров, замощенный белыми плитками размера 1 × 1 метр.
Однажды главный архитектор города решил придать достопримечательности особый неповторимый облик, перекрасив часть плиток в серый цвет в виде специального узора, представляющего собой спираль из серых плиток, начинающуюся в центре площади и имеющую форму, как показано на рисунке.
Однако, сразу же возникла проблема –— требовалось посчитать, сколько же плиток серого цвета будет на площади, для того, чтобы рассчитать количество требуемой краски. Помогите архитектору решить эту задачу.
Требуется написать программу, определяющую количество серых плиток.
Программе вводится одно число N, не превосходящее 5· 104 — размер площади в плитках. Гарантируется, что N = 4k - 3, где k — некоторое натуральное число. То есть, N может принимать значения 1, 5, 9, 13, 17 и так далее.
Выведите требуемое количество серых плиток.
Оценка: 25 баллов
9
49
Вдоль прямой выложены три спички. Необходимо переложить одну из них так, чтобы при поджигании любой спички сгорали все три. Для того чтобы огонь переходил с одной спички на другую, необходимо чтобы эти спички соприкасались (хотя бы концами).
Требуется написать программу, определяющую, какую из трех спичек необходимо переместить.
Вводятся шесть целых чисел через пробел: l1, r1, l2, r2, l3, r3 –– координаты первой, второй и третьей спичек соответственно (0 ≤ li < ri ≤ 100). Каждая спичка описывается координатами левого и правого концов по горизонтальной оси OX.
Выведите номер искомой спички. Если возможных ответов несколько, то выведите наименьший из них. В случае, когда нет необходимости перемещать какую-либо спичку, выведите 0. Если же требуемого результата достигнуть невозможно, то выведите -1.
Оценка: 25 баллов
0 2 4 5 3 6
1
1 2 9 10 12 20
3
1 5 0 1 4 8
0
Пете нужно оклеить обоями стену размером N метров в высоту и M метров в ширину. Для поклейки используются обои, которые продаются рулонами. Каждый рулон имеет ширину 1 метр и длину K метров. Обои клеятся на стену вертикальными полосами (сверху вниз). При этом Петя хочет так поклеить обои, чтобы горизонтальных стыков разных кусков не было (то есть один цельный кусок клеится от потолка до пола). От рулона можно отрезать куски нужного размера (иногда при этом может оставаться кусок, меньшего размера, который поэтому не может быть поклеен, этот кусок идет в отходы).
По данным числам N, M и K определите наименьшее количество рулонов, которое нужно купить Пете, чтобы оклеить всю стену.
Вводятся натуральные числа N, M и K (1 ≤ N ≤ 100, 1 ≤ M ≤ 100, N ≤K ≤100).
Выведите одно число - количество рулонов, которые должен купить Петя.
10 5 25
3
3 6 9
2