Бесконечное клетчатое поле заполнено последовательными натуральными числами, расположенными в виде концентрических ромбов. Заполнение каждого ромба начинается с его верхней клетки и идёт по часовой клетке — смотрите рисунок. Клетку, содержащую число 1, назовём центральной.
Напишите программу, которая для заданной пары значений x и y найдёт число в клетке, которая отстоит на x шагов по горизонтали и на y шагов по вертикали от центральной клетки.
Вводятся два целых числа $$$x$$$ и $$$y$$$, каждое в отдельной строке ($$$-10^6 \le x, y \le 10^6$$$).
Выведите одно целое число — ответ.
Подзадача 1 (до 36 баллов): $$$-3 \le x, y \le 3$$$.
Подзадача 2 (до 32 баллов): $$$-1000 \le x, y \le 1000$$$.
Подзадача 3 (до 32 баллов): $$$-10^6 \le x, y \le 10^6$$$.
2 1
16
-1 -2
21
Обратите внимание, что ответ в последней подзадаче может быть достаточно большим и не помещаться в 32-битный тип данных. Рекомендуется использовать 64-битный тип данных, например, тип long long в языке C++, тип int64 в языке Pascal, тип long в языках Java и C#. Язык Python автоматически работает с целыми числами любой длины.
Алфавит некоторого языка состоит всего из трёх букв — а, о и c. Определите, какое максимальное количество слов длины N может быть в языке, если каждая буква алфавита может встречаться в слове не более K раз.
Вводятся два целых числа $$$N$$$ и $$$K$$$, каждое в отдельной строке ($$$1 \le N, K \le 30$$$).
Выведите одно целое число — количество слов.
Подзадача 1 (до 25 баллов): $$$K \le 2$$$
Подзадача 2 (до 35 баллов): $$$N \le 15$$$
Подзадача 3 (до 40 баллов): $$$N \le 30$$$
2 1
6
2 2
9
В первом примере ответ равен 6 — это слова ао, оа, ос, со, ас и са. Во втором примере ответ равен 9, так как добавляются ещё слова аа, оо и cc.
Обратите внимание, что ответ в последней подзадаче может быть достаточно большим и не помещаться в 32-битный тип данных. Рекомендуется использовать 64-битный тип данных, например, тип long long в языке C++, тип int64 в языке Pascal, тип long в языках Java и C#. Язык Python автоматически работает с целыми числами любой длины.
Опытного сотрудника Ивана Ивановича часто отправляют в командировки в различные города. В ближайшее время ему предстоит совершить $$$N$$$ командировок. Для каждой из них известен диапазон дней, а также город, где Иван Иванович в эти дни должен находиться.
К сожалению, при составлении графика командировок начальство иногда ошибается, и может получиться так, что в какой-то день Иван Иванович должен находиться в двух (или более) разных городах одновременно. Напишите программу для подсчёта количества таких дней.
В первой строке записано количество командировок $$$N$$$ ($$$2 \le N \le 10^5$$$).
В каждой из следующих $$$N$$$ строк через пробел записаны день начала $$$d_1$$$ и день конца $$$d_2$$$ очередной командировки ($$$1 \le d_1 \le d_2 \le 10^9$$$) и номер города $$$c$$$ ($$$1 \le c \le 10^9$$$). Входные данные упорядочены по неубыванию $$$d_1$$$.
Выведите одно целое число — искомое количество дней.
Решения, верно работающие при $$$N \le 1000$$$, $$$d_2 \le 1000$$$, могут получить до 50 баллов.
3 1 7 5 2 4 5 2 3 2
2
В примере во второй и третий день Иван Иванович должен одновременно находиться в городах 2 и 5.
Будем считать, что все города находятся недалеко друг от друга, поэтому время на дорогу в этой задаче не учитывается.
Примечание для пишущих на Python: три числа, записанных через пробел, можно прочитать так:
d1, d2, c = map(int, input().split())
Назовём целое неотрицательное число забавным, если оно состоит не более чем из двух различных цифр — например, 555, 272772, 100.
Вычислите, сколькими способами введённое число можно представить в виде суммы двух забавных чисел. Перестановка слагаемых нового способа не даёт.
Вводится целое неотрицательное число $$$n$$$ ($$$0 \le n \le 10^9$$$).
Выведите одно целое число — количество способов представить $$$n$$$ в виде суммы двух забавных чисел без учёта порядка слагаемых.
Подзадача 1 (до 30 баллов): $$$n \le 100$$$.
Подзадача 2 (до 30 баллов): $$$n \le 10^4$$$.
Подзадача 3 (до 40 баллов): $$$n \le 10^9$$$.
3
2
123
52
В первом примере число 3 можно представить двумя способами: 0 + 3 и 1 + 2.
Правильной скобочной последовательностью (ПСП) называется строка, состоящая только из круглых скобок, где каждой закрывающей скобке найдётся соответствующая открывающая, и наоборот. Примеры ПСП: '()', '(())', '()(())'. Примеры строк, не являющихся ПСП: '())', ')(', '(()'.
Назовём ПСП длины $$$2n$$$ симметричной, если для любого $$$i$$$ от $$$1$$$ до $$$n$$$ верно, что $$$i$$$-я скобка с начала не равна $$$i$$$-й скобке с конца. Например, для $$$n=3$$$ следующие ПСП являются симметричными: '((()))', '()()()' и '(()())'.
Напишите программу, вычисляющую количество симметричных ПСП длины $$$2n$$$.
Вводится одно целое число $$$n$$$ ($$$1 \le n \le 50$$$).
Выведите одно целое число — количество симметричных ПСП длины $$$2n$$$.
Подзадача 1 (до 45 баллов): $$$n \le 10$$$
Подзадача 2 (до 25 баллов): $$$n \le 20$$$
Подзадача 3 (до 30 баллов): $$$n \le 50$$$
3
3
Обратите внимание, что ответ в последней подзадаче может быть достаточно большим и не помещаться в 32-битный тип данных. Рекомендуется использовать 64-битный тип данных, например, тип long long в языке C++, тип int64 в языке Pascal, тип long в языках Java и C#. Язык Python автоматически работает с целыми числами любой длины.