Учитель отправил своим ученикам письмо со следующим заданием: "Напишите программу, которая определит значение X по следующему выражению: X = number 1 pot 1 + number 2 pot 2 + ... + number n pot n если известно, что number 1 , number 2 , ... , number n - натуральные числа, а pot 1 , pot 2 , ... , pot n - однозначные натуральные числа."
К сожалению, из-за того что учитель был очень глупый, при записи формулы на компьютер, форматирование текста было потеряно и формула для значения X превратилось в сумму N чисел: X = P 1 + P 2 + ... + P n . Например, без форматирования изначальная формула X = 21 2 + 123 5 превратилась в формулу X = 212 + 1235 . Помогите глупому учителю написать программу, которая по новой формуле (то есть по данным числам P 1 , P 2 , ... , P n ) восстановит изначальное значение X .
Первая строка содержит одно целое число N ( 1 ≤ N ≤ 10 ), количество чисел в формуле. Каждая из следующих N строк содержит одно целое число P i ( 10 ≤ P i ≤ 9999 ) - соответствующий элемент формулы.
Выведите единственное целое число - изначальное значение X .
2 212 1253
1953566
5 23 17 43 52 22
102
3 213 102 45
10385
Слон постоянно шалит в своей школе. На уроках ему становится скучно, и он начинает хулиганить. Учитель решил успокоить слона, поэтому дал ему очень сложную математическую задачу.
Учитаель дал слону арифметическое выражение A и числа P и M . Слону надо ответить на такой вопрос: "Каково минимальное неотрицательное значение переменной x в выражении A , такое что остаток от деления A на M равно P ?". Гарантируется, что решение всегда существует.
Кроме того, после применения законов распределения к выражению A , x содержится в A только в первой степени.
В первой строке содержится выражение A ( 1 ≤ | A | ≤ 10 5 ). Вторая строка содержит два целых числа P и M ( 0 ≤ P < M ≤ 10 6 ). A состоит только из символов +, -, *, (, ), x и цифр от 0 до 9. Каждый оператор +, -, * применяется ровно к двум значения, умножения всегда обозначены явно.
Выведите одно число – ответ на задачу
Пояснение к первому примеру:
(5 + 3 + x ) mod 10 при x = 0 равно 8.
(5 + 3 + x ) mod 10 при x = 1 равно 9. Значит, ответ x = 1 .
5+3+x 9 10
1
20+3+x 0 5
2
3*(x+(x+4)*5) 1 7
1
Случилось ужасное! Отважный хорватский охотник попал в его собственную ловушку. В погоне за ценной добычей он помчался вперед и оказался пойман. Чтобы выбраться наружу, он должен решить следующую задачу (а так как умом он не блещет, вам придется ему помочь):
Вам даны 3 целых числа L, D и X. Определите минимальное такое число N , для которого L ≤ N ≤ D и сумма цифр которого равна X . Также определите максимальное M для которого L ≤ M ≤ D и сумма цифр которого равна X . Гарантируется, что такие числа всегда существуют.
В первое строке содержится одно целое число L ( 1 ≤ L ≤ 10000 ). Во второй строке содержится одно целое число D ( 1 ≤ L ≤ D ≤ 10000 ). В третьей строке содержится одно целое число X ( 1 ≤ X ≤ 36 ).
В первой строке выведите одно целое число N из задачи. Во второй строке выведите одно целое число M из задачи.
1 100 4
4 40
100 500 12
129 480
1 10000 1
1 10000
Цезарь очень любит карточные игры. Поэтому каждый раз, когда он оказывается в Загребе, он бежит в первое попавшееся казино и там играет в блэкджек.
В блэкджеке игрок может брать карты из колоды до тех пор, пока сумма его карт не превосходит 21 или пока он не скажет «DOSTA» («Стоп» по-хорватски).
В начале игры в колоде есть по 13 карт каждой масти, 9 из которых имеют числовые значения 2, 3, ..., 10 ; так же «Валет», «Дама» и «Король» имеют числовые значения 10 ; а «Туз» — 11 .
Цезарь уже сделал n ходов и уже достал из колоды некоторые карты с суммой менее 21 . Теперь он хочет понять, стоит ли брать ещё одну карту, или остановиться. Пусть X — разница межу 21 и суммой карт. Как известно, новую карту не стоит брать, если число карт со значением больше X превышает число карт со значением не более X .
Цезарь испытывает некоторые проблемы с арифметикой, поэтому он просит вас сообщить ему, стоит ли брать новую карту.
В первой строке водится n — число карт, которые уже взяты. Далее написаны n числовых значений уже взятых карт — по одному в каждой строке.
Если Цезарю надо взять ещё одну карту, в единственной строке выведите « VUCI » («Дальше» по-хорватски), иначе выведите « DOSTA » («Стоп» по-хорватски).
В первом примере сумма карт уже 15 , соответственно X = 6 . В колоде осталось 32 карты со значением больше 6 ( 4 «Туза», 4 «Короля», 4 «Дамы», 4 «Валета», 4 «Десятки», 4 «Девятки», 4 «Восьмёрки» и 4 «Семёрки») и 14 карт со значением не более 6 ( 1 «Двойка», 1 «Тройка», 4 «Четвёрки», 4 «Пятёрки», 4 «Шестёрки»). Поэтому новую карту брать не надо.
6 2 3 2 3 2 3
DOSTA
1 10
VUCI
2 5 6
VUCI
Мирко нужно купить землю, чтобы построить дом для своей семьи. Он присмотрел K участков. Для простоты будем считать, что участок представляет собой поле с N строками и M столбцами, N × M клеток в сумме.
Мирко знал, что до начала строительства участок надо поддерживать в порядке. По этой причине он приобрёл газонокосилку. Для покоса участка ему нужно проехать по каждой клетке поля хотя бы раз. Он может начать с любой клетки, смотря в одно из четырёх основных направлений (вверх, вниз, влево или вправо). Его газонокосилка может двигаться только вперёд (перемещаться в следующую клетку вдоль текущего направления) или поворачиваться на 90 градусов. К тому же, ради безопасности, Мирко может косить только на своём участке, не выходя за пределы поля.
Так как поворачивать газонокосилку непросто, Мирко хочет минимизировать количество поворотов газонокосилки. Для каждого из K участков земли ему нужно знать минимальное число поворотов для покоса. Помогите Мирко с этой задачей.
В первой строке вводится натуральное число K ( 1 ≤ K ≤ 50 000 ) — число запросов. В каждой из следующих K строк вводятся два натуральных числа N и M ( 1 ≤ N , M ≤ 10 6 ) — размеры поля для каждого запроса.
Для каждого запроса в отдельной стоке выведите минимальное число поворотов газонокосилки, которое потребуется для покоса участка.
Программы, верно работающие на тестах, в которых K = 1 , 1 ≤ N , M ≤ 500 , оцениваются в 50 баллов.
В первом примере первый участок можно покосить без поворотов, если Мирко встанет в первой клетке поля и пойдёт вперёд. Аналогичная идея относится и ко второму участку.
2 1 10 10 1
0 0
3 1 1 3 3 3 4
0 4 4
2 5 8 6 4
8 6