---> 154 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 21 22 23 24 25 26 27 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Натуральное число \(a\) называется делителем натурального числа \(b\), если \(b = ac\) для некоторого натурального числа \(c\). Например, делителями числа 6 являются числа 1, 2, 3 и 6. Два числа называются взаимно простыми, если у них нет общих делителей кроме 1. Например, 16 и 27 взаимно просты, а 18 и 24 — нет.

Будем называть нормальным набор из \(k\) чисел (\(a_1, a_2, \ldots, a_k\)), если выполнены следующие условия:

  1. каждое из чисел \(a_i\) является делителем числа \(n\);
  2. выполняется неравенство \(a_1 \lt a_2 \lt \ldots \lt a_k\);
  3. числа \(a_i\) и \(a_{i+1}\) для всех \(i\) от \(1\) до \(k - 1\) являются взаимно простыми;
  4. произведение \(a_1a_2\ldots a_k\) не превышает \(n\).

Например, набор (2, 9, 10) является нормальным набором из 3 делителей числа 360.

Требуется написать программу, которая по заданным значениям \(n\) и \(k\) определяет количество нормальных наборов из \(k\) делителей числа \(n\).

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

Первая строка входного файла содержит два целых числа: \(n\) и \(k\) (\(2 \le n \le 10^8\), \(2 \le k \le 10\)).

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

В выходном файле должно содержаться одно число — количество нормальных наборов из \(k\) делителей числа \(n\).

Примечание

Правильные решения для тестов, в которых \(n \le 1000\) и \(k = 2\), оцениваются из 30 баллов.

Правильные решения для тестов, в которых \(k = 2\), оцениваются из 60 баллов (в эти баллы включаются также 30 баллов для случая \(n \le 1000\), \(k = 2\)).

Примеры
Входные данные
90 3
Выходные данные
16
Входные данные
10 2
Выходные данные
4
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Рассматриваются все разбиения натурального числа \(N\) на сумму \(К\) неотрицательных слагаемых (\(1 \leq N \leq 32\), \(2 \leq K \leq 32\)). Суммы, отличающиеся только порядком слагаемых, считаем различными. Упорядочим все разбиения по убыванию первого слагаемого, а при равных первых слагаемых – по убыванию второго слагаемого, а при равных первых и вторых слагаемых – по убыванию третьего слагаемого и т. д. Пронумеруем их. Например, при \(N=4\), \(К=3\) имеем:

Номер1 слагаемое2 слагаемое3 слагаемое
1400
2310
3301
4220
5211
6202
7130
8121
9112
10103
11040
12031
13022
14013
15004
Напишите программу, которая находит разбиение по номеру либо номер по разбиению.

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

В первой строке входного файла записана последовательность чисел. Если первое число \(0\), то необходимо найти разбиение по номеру, а если \(1\), то номер по разбиению. В первом случае далее в файле записано количество слагаемых, сумма и номер разбиения. Во втором случае далее в файле записано количество слагаемых \(K\) и затем разбиение (\(K\) неотрицательных чисел, сумма которых \(N\)). Все числа разделены пробелами.

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

Выведите в выходной файл разбиение либо номер.

Примеры
Входные данные
0 3 4 9
Выходные данные
1 1 2 
Входные данные
1 3 0 1 3
Выходные данные
14
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Необходимо проверить отсутствие циклов

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

Каждые две дятла, которые хотят летать друг к другу в гости, должны жить на разных деревьях Отрезки, соединяющие дупла знакомых между собой дятлов не пересекаются (однако их концы могут совпадать).

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

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

В первой строке содержатся три числа: \(N\) – количество дятлов (\(1 \leq N \leq 10^6\)), \(M\) – количество пар знакомых дятлов (\(1 \leq M \leq 10^7\)) и число \(K\) (\(1 \leq K \leq 2\times 10^6\)). Дятлы занумерованы от \(1\) до \(N\). В следующих \(M\) строках заданы два числа \(a_i\) и \(b_i\) (\(1 \leq a_i, b_i \leq N\)), задающие пару знакомых дятлов.

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

Вывод должен содержать одно число: количество вариантов размещения по модулю K.

Примеры тестов

Примеры
Входные данные
3 2 10
1 2
1 3
Выходные данные
4
Входные данные
4 4 17
1 2
1 3
4 2
3 4
Выходные данные
0
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Автостоянка в Цветочном городе представляет собой прямоугольник \(N\times M\) клеток, в каждую из которых можно поставить машину. Стоянка обнесена забором, одна из сторон угловой клетки удалена (это ворота). Машина ездит по дорожке шириной в одну клетку. Незнайку попросили разместить как можно больше машин на стоянке таким образом, чтобы любая машина могла выехать, когда все прочие стоят. Например, на рисунке справа показано, как можно расположить 24 машины на стоянке размером \(7\times 7\). Помогите Незнайке решить эту задачу.

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

Во входном файле записано два натуральных числа N и M, не превосходящие 7.

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

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

Примеры
Входные данные
1 3
Выходные данные
1
Входные данные
2 2
Выходные данные
2
Быстрое преобразование Фурье

В некотором царстве жил-был король. У него была дочка – принцесса невиданной красоты. И настала пора её замуж отдать. В богатом королевстве неподалеку жил принц. И собрался король отвести принцессу, да не знает, какой маршрут выбрать. На тех землях ещё издревле было множество дорог – горизонтальных и вертикальных, и образовывали они клетчатую сетку на земле той. На перекрёстках располагались города. Город принцессы имеет координаты \((0, 0)\), а принца – \((n, m)\), уравнения дорог имеют вид \(x = x_0\) или \(y = y_0\), где \(x_0\), \(y_0\) целые. Король хочет проехать по как можно меньшему числу дорог, потому что он грабителей боится да вернуться хочет поскорей. Вам, как придворному математику, нужно посчитать, сколькими способами это можно сделать.

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

Во входном файле заданы неотрицательные целые числа \(n\) и \(m\), не превосходящие 400000.

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

Выведите ответ на задачу в десятичной системе счисления без ведущих нулей.

Примеры
Входные данные
7 7
Выходные данные
3432
Входные данные
4 1
Выходные данные
5

Страница: << 21 22 23 24 25 26 27 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест