Страница: << 59 60 61 62 63 64 65 >> Отображать по:
ограничение по времени на тест
0.5 second;
ограничение по памяти на тест
64 megabytes

Комната имеет прямоугольную форму размером M × N (1 ≤ M ≤ 9, 1 ≤ N ≤ 9) . Необходимо уложить его паркетом. Есть деревяшки двух форм:

  • прямоугольники (2 × 1)
  • уголки (квадрат 2 × 2 без одного куска 1 × 1 )

Вы должны найти X — количество способов покрыть пол паркетом (не должно остаться пустых мест; части не должны накладываться друг на друга и выходить за границу комнаты).

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

В первой строке входного файла расположены через пробел два натуральных числа: N и M .

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

В первой строке выходного файла выведите натуральное число X или 0, если решения нет.

Примеры
Входные данные
2 3
Выходные данные
5
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Рассмотрим один специальный тип двоичных деревьев поиска, который часто называют "декартовым деревом". Напомним, что двоичным деревом поиска называется двоичное дерево, в каждой вершине которого записан некоторый ключ (в этой задаче ключ представляет собой целое число), причем для каждой вершины u выполнены следующие условия: все ключи в левом поддереве u меньше чем ключ в вершине u , а все ключи в правом поддереве - больше. Будем называть двоичное дерево поиска декартовым деревом, если в каждой вершине u помимо основного ключа х u хранится также вспомогательный ключ y u , причем для этих ключей выполнено "условие кучи": если v - родитель u , то y v < y u . Будем называть множество пар ( x 1 , y 1 ), ( х 2 , y 2 ), ... ( х n , у n ) корректным , если все x i – различные числа от 1 до n , и то же условие выполнено для y i . Легко показать, что для любого корректного множества пар существует в точности одно декартово дерево, которое содержит пары из заданного множества в качестве пар ключей. Рассмотрим двоичное дерево T с n вершинами. Ваша задача - найти количество различных корректных множеств пар, таких что их можно расставить в вершинах T . чтобы превратить его в декартово дерево. Например, для дерева, приведенного на рисунке, существует три соответствующих корректных множества пар: {(1, 2), (2, 3), (3, 1), (4, 4)}, {(1, 2), (2, 4), (3, 1), (4, 3)} и {(1, 3), (2, 4), (3, 1), (4, 2)}.

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

Первая строка входного файла содержит n – количество вершин в дереве T (1 ≤ n ≤ 200) следующие n строк описывают его вершины. Каждая вершина описывается двумя числами: номерами левого и правого ребёнка. Если один из детей отсутствует, то вместо его номера указан 0. Гарантируется, что описание дерева корректно. Корень дерева имеет номер 1.

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

Выведите одно число – количество различных корректны множеств пар, которые можно расставить в вершинах T , чтобы получилось декартово дерево.

Примеры
Входные данные
4
2 3
0 4
0 0
0 0
Выходные данные
3
#112551
  
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Андрей Сергеевич работает воспитателем в детском саду. Недавно он придумал новую веселую игру, для участия в которой все дети разбились на n команд. В качестве призов для участников игры Андрей Сергеевич подготовил d конфет.

По итогам игры оказалось, что в команде, занявшей i -е место, ровно x i участников.

Теперь перед Андреем Сергеевичем стоит непростая задача: надо распределить конфеты. При этом должны выполняться следующие условия:

  • Все участники одной команды должны получить поровну конфет: пусть участники команды, занявшей i -е место получат по a i конфет;
  • Каждый ребенок должен получить хотя бы одну конфету: a i > 0 ;
  • Участники команды, занявшей более высокое место, должны получить больше конфет: если i < j , то a i > a j
  • Все конфеты должны быть распределены: a 1 x 1 + a 2 x 2 + ... a nx n = d
Помогите Андрею Сергеевичу раздать детям конфеты, или сообщите,что это невозможно.

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

Первая строка содержит два целых числа n и d ( 1 ≤ n ≤ 100 , 1 ≤ d ≤ 10 6 ). Вторая строка содержит n целых чисел x 1 , ..., x n ( 1 ≤ x i ≤ 100 для всех i от 1 до n ).

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

Если разделить конфеты возможно, то в первой строке выведите YES , а во второй выведите n целых чисел: a 1 , a 2 , ..., a n . Если разделить конфеты указанным способом нельзя, выведите NO .

Примеры
Входные данные
2 100
2 1
Выходные данные
YES
49 2 
Входные данные
2 6
2 1
Выходные данные
NO
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Алла очень любит палиндромы. Все потому, что её имя является палиндромом. Напомним, что строку называют палиндромом тогда, когда она одинаково читается как слева направо, так и справа налево.

Однажды в школе учитель рассказал Алле про так называемые строки Фибоначчи. Строки Фибоначчи определяются следующим образом:

  • f 0 = a
  • f 1 = b
  • f n = f n −1 f n −2 для каждого n ≥ 2 — конкатенация двух предыдущих строк Фибоначчи
Таким образом, первые пять строк Фибоначчи: « a » , « b » , « ba » , « bab » , « babba » .

Аллу сразу заинтересовал вопрос — какой максимально длинный палиндром встречается в k -й строке Фибоначчи. Помогите Алле решить эту задачу.

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

Первая строка входного файла содержит одно целое число k (0 ≤ k ≤ 80) — номер строки Фибоначчи.

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

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

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

В одном квадратном государстве жили квадратные люди. И все остальное в этом государстве было тоже квадратное. Так, Квадратная Дума приняла Квадратный Закон о земле. Согласно этому закону, любой житель государства имел право приобрести землю. Земля продавалась, естественно, квадратными участками. Длина стороны каждого участка выражалась натуральным числом метров. Приобретая участок земли со стороной a метров, покупатель платил a 2 квадриков (местная валюта) и получал одно квадратное свидетельство о праве собственности на этот участок. Один житель этого государства решил вложить все свои N квадриков без остатка в покупку земли. Это безусловно можно было сделать, приобретя участки размером 1 * 1 метр. Но этот житель потребовал от агентства недвижимости минимизации количества покупаемых участков. «Так мне будет легче общаться с Квадратной Налоговой Инспекцией», - сказал он. Сделка состоялась.

Найдите, какое количество квадратных свидетельств он получил.

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

В единственной строке стоит натуральное число N ≤ 60000 - число квадриков, которое было у жителя.

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

В единственной строке стоит число свидетельств, полученных в результате сделки.

Примеры
Входные данные
543
Выходные данные
4

Страница: << 59 60 61 62 63 64 65 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест