У вас имеется некоторый набор из цифр от 1 до 9. Из них нужно составить арифметическое выражение. Каждую цифру можно использовать не более одного раза, а вот скобки и арифметические операции ( + , - , × и / ) можно использовать в любом количестве. Запрещается склеивать цифры для получения новых чисел. Вычислите максимальное возможное значение выражения, которое можно получить таким образом.
В единственной строке ввода содержится строка из цифр от 1 до 9. Все цифры различны. Строка не может быть пустой.
Выведите одно число — максимальную величину, которую можно получить, соблюдая условия выше.
345
60
7
7
Из цифр 3, 4 и 5 можно составить выражение 3 × 4 × 5, которое равно 60.
Из цифры 7 можно составить только выражение из неё самой.
Мальчик Петя приехал отдыхать к бабушке в деревню. Недалеко от участка есть лес, в котором растут деревья. Гуляя по лесу и мучаясь от тоски он решил построить себе шалаш на деревьях. К счастью, все деревья оказались одинаковой высоты, поэтому он решил построить дом на самом верху.
В качестве деревьев-кандидатов он решил взять такие четыре дерева, которые образуют прямоугольник. Петя уже составил карту леса, где точками он отметил деревья (толщиной деревьев он принебрёг). Чтобы построить лучший шалаш, он хочет приглядеться ко всем вариантам, но деревьев так много, что он попросил Вас о помощи.
Посчитайте количество четвёрок деревьев, которые подойдут Пете.
В первой строке содержится целое число $$$1 \leq N \leq 1\,500$$$ — количество деревьев в лесу.
В следующих $$$N$$$ строках содержатся координаты деревьев — целые числа $$$-10^{9} \leq x_{i}, y_{i} \leq 10^{9}$$$.
Координаты любых двух деревьев различны.
Выведите одно число — количество вариантов сделать шалаш.
6
0 0
0 1
0 2
1 0
1 1
1 2
3
5
0 0
-1 0
0 -1
1 0
0 1
1
У Васи имеется N одинаковых кубиков, из которых он может собирать фигуры. Сколькими способами он может собрать из них прямоугольный параллелепипед, используя все кубики? Если два полученных параллелепипеда можно получить друг из друга поворотами, то эти способы считаются одинаковыми.
Натуральное число 1 ≤ N ≤ 1111.
Выведите одно число — количество различных параллелепипедов, которые можно получить.
1
1
10
2
12
4
При N = 1 можно получить параллелепипед размером 1 × 1 × 1.
При N = 10 можно получить параллелепипеды размерами 1 × 1 × 10 и 1 × 2 × 5.
При N = 12 можно получить параллелепипеды размерами 1 × 1 × 12, 1 × 2 × 6, 1 × 3 × 4 и 2 × 2 × 3.
Вам дана последовательность целых чисел a длины n и несколько запросов двух типов:
1. ! i x (1 ≤ i ≤ n, 0 ≤ x < 230) — заменить ai на число x;
2. ? l r (1 ≤ l ≤ r ≤ n) — посчитать последние девять цифр величины
, где
— операция побитового исключающего или, в современных языках программирования обозначается как xor или
.
Первая строка содержит целое число n — длину последовательности. Вторая строка содержит n целых чисел, разделённых пробелами — элементы последовательности. В третьей строке содержится число m - количество запросов. Следующие m строк содержат запросы в формате, описанном выше. 1 ≤ n, m ≤ 105, 0 ≤ ai < 230.
На каждый запрос второго типа выведите в отдельной строке ответ на этот запрос.
4
1 2 3 4
8
? 1 3
? 2 4
? 1 4
! 2 0
? 1 3
! 4 1
? 1 4
? 2 3
0
5
18
2
7
0
QuadraPop — аркадная 2D игра, в которой вам нужно набирать очки, уничтожая клетки на поле. В этой задаче рассматривается более общий вариант игры, поэтому опишем правила подробнее.
У вас имеется поле в H строк и W столбцов. Каждая ячейка поля либо пуста, либо занята клеткой определённого цвета. Всего цветов 26 и они обозначены заглавными латинским буквами. На поле действует гравитация — клетка, под которой нет опоры, падает сверху вниз. Так же в игре есть параметр K — если существует связная область из K или более клеток одного цвета, то они уничтожаются. Связными считаются клетки, которые граничат стороной. После уничтожения области может снова начаться процесс падения клеток, который в конце снова спровоцирует уничтожение новых областей и так далее.
Вам дано поле и фигурка из двух клеток, которую нужно расположить вверху поля в любой клетке. Фигурку можно произвольно повернуть. Посчитайте все возможные различные исходы получения очков, которые можно получить. Очки начисляются следующим образом. Выпишем в хронологическом порядке все размеры уничтоженных за время игры областей, обозначим их sk (1 ≤ k ≤ n). Если две области уничтожились в один и тот же момент, раньше в списке идёт та область, у которой верхняя левая клетка находится выше (если и они на одной высоте, то та, которая из этих двух левее). Итоговый счёт игрока равен
. Рассмотрите описание тестового примера для лучшего понимания.
В первой строке содержатся числа H, W и K, записанные через пробел (2 ≤ H ≤ 50; 1 ≤ W ≤ 50; 2 ≤ K ≤ 5000). В следующих H строках идёт описание поля. Каждая строка содержит W символов. Пустая ячейка обозначается символом «.», закрашенная — большой латинской буквой. В последней строке содержится падающая фигура (два больших латинских символа). Гарантируется, что две верхние строки поля пусты, что связные фигуры из клеток одного цвета имеют размер меньше K, а так же то, что нет падающих клеток.
Выведите в одной строке, разделяя пробелами, все возможные различные исходы получения очков, упорядоченные по возрастанию.
4 4 3
....
....
....
A.AA
AA
3 4 5
3 4 3
....
....
ABCD
CB
0
7 5 4
.....
.....
.....
....X
...XX
...AB
XXXCD
XX
5 8 12
7 5 3
.....
.....
..B..
A.B.A
C.C.C
ACBCA
ACBCA
CC
0 22 23 34
Рассмотрим как получить 34 очка в четвёртом тестовом примере:
| Шаг №1 | Шаг №2 | Шаг №3 | Шаг №4 | Шаг №5 | Шаг №6 | Шаг №7 | Шаг №8 |
| .CC.. | ..... | ..... | ..... | ..... | ..... | ..... | ..... |
| ..... | ..С.. | ..С.. | ..... | ..... | ..... | ..... | ..... |
| ..B.. | ..B.. | ..B.. | ..С.. | ..С.. | ..С.. | ..... | ..... |
| A.B.A | A.B.A | A.B.A | ..B.A | ....A | ....A | ....A | ....A |
| C.C.C | CCC.C | ....C | A.B.C | A...C | ....C | ....C | ....C |
| ACBCA | ACBCA | A.BCA | A.BCA | A..CA | ...CA | ...CA | ....A |
| ACBCA | ACBCA | A.BCA | A.BCA | A..CA | ...CA | ..CCA | ....A |
Ваша задача — проверить, является ли заданное целое число (от 0 до 104) квадратом целого числа. Если это так, то необходимо вывести корень из этого числа, иначе вывести « - 1».
Дополнительным условием является то, что решение необходимо написать на придуманном нами языке программирования Lacsap. Программа на этом языке работает с 26-ю целочисленными переменными (знакового 4-байтного типа), которые названы в честь больших латинских букв. В любой момент существует текущая переменная, которая равна одной из описанных выше. В начале работы программы текущей является переменная A. Все переменные в начале равны нулю. Код программы — набор строк. В каждой строке содержится ровно одна команда. Строки в коде нумеруются с нуля. В течение работы программы по строкам перемещается указатель, который в самом начале находится в 0-ой строке. Ход программы разбит на такты. В течение каждого такта выполняется ровно одна команда в строке с указателем, команды в языке Lacsap могут быть следующие:
«A»...«Z» — установить соответствующую переменную текущей;
«inc» — увеличить значение текущей переменной на единицу;
«dec» — уменьшить значение текущей переменной на единицу;
«goto line» — переместить указатель на строку line;
«if line1 line2» — условный оператор, если значение текущей переменной не равно нулю, переход указателя на строку line1 иначе - на line2;
«read» — считать число из входного потока данных в текущую переменную;
«write» — вывести значение текущей переменной в выходной поток данных;
«exit» — немедленно завершить работу программы;
Так же, после завершения всех команд, кроме «exit», «if» и «goto», указатель перемещается на следующую строку. Если в течение работы программа попытается считать из входного потока число, которого нет, она завершится с ошибкой исполнения. То же самое произойдёт при попытке перехода указателя на несуществующую строку.
| Бесконечный цикл | Вывод чисел от N до 1 | ||
| 0 | goto 0 | 0 | N |
| 1 | read | ||
| 2 | if 3 6 | ||
| 3 | write | ||
| 4 | dec | ||
| 5 | goto 2 | ||
| 6 | exit | ||
Вашей программе на языке Lacsap будет дано ровно одно число во входном потоке. В выходной поток необходимо вывести ровно одно число — ответ на задачу. Программа должна совершить в любом случае не более 106 тактов, иначе решение будет считаться не правильным.
В этой задаче нет входных данных.
В первой строке выведите целое число 1 ≤ n ≤ 1000 — количество строк в вашей программе на языке Lacsap. Далее выведите n строк — код программы, в формате, описанном выше.
There is no input!
4
N
read
write
exit
Тестовый пример приведён только для демонстрации формата вывода. Приведённая программа не решает поставленную задачу.
Если код программы на языке Lacsap написан некорректно, то вы получите вердикт Presentation Error. Если программа корректно написана, но совершает работу с ошибкой, выводит неверный ответ на одном из тестов или работает дольше 106 тактов, то вы получите вердикт Wrong Answer.