Страница: << 54 55 56 57 58 59 60 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
128 megabytes

Вожди известного племени Мумба-Юмба решили придумать новый боевой вопль для своих воинов. При этом они решили, что вопль должен состоять ровно из N букв (всего в алфавите племени M букв). Также, после долгих исследований было выяснено, что если в вопле встречается слово si (слово – это последовательность букв алфавита, не длиннее трех символов), то этот вопль вселяет во врага fi единиц страха. Если в вопль входит несколько слов, то их “страшность” суммируется. Например, если вопль содержит слова si и sj, то вопль вселяет fi+fj единиц страха.

Требуется по заданным N, M, алфавиту и списку слов si составить максимально страшный вопль.

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

В первой строке записано три числа — N, M и К (1 ≤ N ≤ 100, 1 ≤ M ≤ 24, 0 ≤ K ≤ 100), где K — количество страшных слов. В следующей строке записан алфавит — строка из M строчных латинских букв. Далее в K строках записана информация о словах — само слово и через пробел одно число, обозначающее страшность этого слова (1 ≤ fi ≤ 10000).

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

В выходной файл необходимо вывести страшность полученного вопля и на следующей строке — сам вопль.

Примеры
Входные данные
3 5 4
abcde
abc 10
ab 5
be 7
e 4
Выходные данные
16
abe
ограничение по времени на тест
0.25 second;
ограничение по памяти на тест
64 megabytes

Воодушевленный легендой о Вавилонской Башне, Петя решил построить ее аналог у себя в комнате, для этого он взял N детских строительных кирпичиков, выбрал для себя размер основания D и высоту башни H. Кроме того, он решил для себя, что размер каждого следующего уровня будет отличаться от предыдущего на один. Башня, показанная на рисунке, удовлетворяет Петиным запросам, имеет основание 2, высоту 8, и составлена из 22 кирпичиков.

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

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

Во входном файле находятся числа N, D, и H (в таком порядке), разделенные пробелами (1 ≤ N ≤ 1 000, 1 ≤ D, H ≤ 30)

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

Если башня, удовлетворяющая Петиным запросам существует, выведите в выходной файл H чисел — проект любой такой башни — количество кирпичиков на каждом уровне, начиная с самого нижнего. В противном случае выведите 0.

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

Миша записывает 2 числа: n и m, а Маша должна разделить число n на m частей, не меняя порядок цифр, при этом Миша ещё требует, чтобы произведение полученных m чисел было максимально. Помогите Маше.

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

Входные данные содержат несколько тестовых случаев (не более 100000). Каждый тестовый случай расположен в отдельной строке и содержит 2 числа, разделённые пробелом: сначала n (1 ≤ n ≤ 1015), а потом m ().

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

Для каждого тестового примера в отдельной строке выведите искомое максимальное произведение.

Примеры
Входные данные
12345 2
12345 3
Выходные данные
6170
2460
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
128 megabytes

Последнее время на подъездах в Нижнем Новгороде стало популярно ставить домофоны. Домофон представляет собой цифровую клавиатуру, на которой посетитель должен набрать номер нужной ему квартиры и нажать клавишу вызова, после чего жители этой квартиры могут открыть ему дверь (а могут и не открыть).

При интенсивном использовании домофона краска, нанесённая на цифровые клавиши, постепенно стирается. Одна из компаний, занимающихся установкой домофонов, заинтересовалась возможностью определить диапазон номеров квартир, расположенных в подъезде, по тому, насколько стёрлась краска с клавиш. Они уже обнаружили, что по состоянию клавиши можно определить, сколько раз эту клавишу нажимали. Теперь вам, программисту этой компании, поручили для начала решить простейший вариант задачи восстановления диапазона квартир по «затёртостям». А именно, вашей программе на вход даются 10 чисел — «затёртости» клавиш 0, 1, ..., 9,  т. е. количество раз, которое нажималась соответствующая клавиша. Считая, что за время использования домофона каждую квартиру набрали ровно один раз, и считая, что номера квартир в подъезде начинаются с 1 (т. е. в подъезде расположены квартиры с номерами 1, 2, ..., N при некотором N), определите диапазон квартир в этом подъезде (т. е., фактически, определите это N). Считайте, что посетители никогда не набирают ведущих нулей. Считайте, что N не может превосходить 109.

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

На первой строке входного файла находятся 10 чисел – затёртости цифр 0, 1, ..., 9. Все затёртости не превышают 109; гарантируется, что есть хотя бы одна ненулевая затёртость.

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

В выходной файл выведите одно число N. Если подходящего набора диапазона квартир не существует, выведите одно число  - 1. Если подходящих N существует несколько, выведите любое. Гарантируется, что, если искомое N существует, то оно не превосходит 109.

Примеры
Входные данные
1 2 1 1 1 1 1 1 1 1
Выходные данные
10
Входные данные
2 4 2 2 2 2 2 2 2 2
Выходные данные
-1
Входные данные
1 1 0 0 0 0 0 0 0 0
Выходные данные
-1
Входные данные
1 0 0 0 0 0 0 0 0 0
Выходные данные
-1
Входные данные
162 273 270 263 263 263 263 262 189 162
Выходные данные
826
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
128 megabytes

Найти количество покрытий прямоугольника 2 * n фигурами в виде дощечек, каждая из которых представляет собой либо квадрат со стороной 1, либо два квадрата (2 * 1), либо “уголок” из трех квадратов:

Фигуры должны заполнять прямоугольник без промежутков.

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

Вводится число n(1 ≤ n ≤ 1000).

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

Выведите количество возможных покрытий.

Примеры
Входные данные
2
Выходные данные
11

Страница: << 54 55 56 57 58 59 60 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест