Страница: << 29 30 31 32 33 34 35 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

У Пети имеется неограниченный набор красных, синих и зеленых плиток размером 1×1. Он выбирает ровно N плиток и выкладывает их в полоску. Например, при N = 10 она может выглядеть следующим образом:


К

К

К

С

З

К

К

З

К

С


(Буквой К обозначена красная плитка, С – синяя, З – зеленая)

После этого Петя заполняет следующую таблицу:



красный

синий

зеленый

красный

Y

Y

Y

синий

Y

N

Y

зеленый

Y

Y

N


В клетке на пересечении строки, отвечающей цвету А, и столбца, отвечающего цвету Б, он записывает "Y", если в его полоске найдется место, где рядом лежат плитки цветов А и Б и "N" в противном случае. Считается, что плитки лежат рядом, если у них есть общая сторона. (Очевидно, что таблица симметрична относительно главной диагонали – если плитки цветов А и Б лежали рядом, то рядом лежали и плитки цветов Б и А.) Назовем такую таблицу диаграммой смежности данной полоски.

Так, данная таблица представляет собой диаграмму смежности приведенной выше полоски.

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

(Заметьте, что полоски, являющиеся отражением друг друга, но не совпадающие, считаются разными. Так, полоска


С

К

З

К

К

З

С

К

К

К


не совпадает с полоской, приведенной в начале условия.)

Формат входных данных

Первая строка входного файла содержит число N. (1 N 100). Следующие три строки входного файла, содержащие по три символа из набора {"Y", "N"}, соответствуют трем строкам диаграммы смежности. Других символов, включая пробелы, во входном файле не содержится. Входные данные корректны, т.е. диаграмма смежности симметрична.

Формат выходных данных

Выведите в выходной файл количество полосок длины N, имеющих приведенную во входном файле диаграмму смежности.

Примеры

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

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

10

YYY

YNY

YYN

4596

3

YYY

YYY

YYY

0


ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

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

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

Строка из круглых, квадратных и фигурных скобок. Длина строки не превосходит 100 символов.

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

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

Примеры
Входные данные
([)]
Выходные данные
[]
Входные данные
{([(]{)})]
Выходные данные
[({})]
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

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

Понятно, что различные способы распила приводят к различной суммарной стоимости заказа. Например, рассмотрим брус длиной 10 метров, который нужно распилить на расстоянии 2, 4 и 7 м, считая от одного конца. Это можно сделать несколькими способами. Можно распилить сначала на отметке 2 м, потом 4 и, наконец, 7 м. Это приведет к стоимости 10+8+6=24, потому что сначала длина бруса, который пилили, была 10 м, затем она стала 8 м, и, наконец, 6 м. А можно распилить иначе: сначала на отметке 4 м, затем 2, затем 7м. Это приведет к стоимости 10+4+6=20, что лучше.

Определите минимальную стоимость распила бруса на заданные части.

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

Первая строка входных данных содержит целое число \(L\) (2≤\(L\)≤\(10^6\)) - длину бруса и целое число \(N\) (1≤\(N\)≤100) - количество распилов. Во второй строке записано \(N\) целых чисел \(С_i\) (0<\(C_i\)<\(L\)) в строго возрастающем порядке - места, в которых нужно сделать распилы.

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

Выведите одно натуральное число - минимальную стоимость распила.

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

Триангуляцией \(N\)-угольника называется набор из \(N\)-3 непересекающихся (кроме как в вершинах многоугольника) диагоналей, разбивающих \(N\)-угольник на \(N\)-2 треугольника.

Для заданного выпуклого \(N\)-угольника найдите триангуляцию, у которой сумма длин диагоналей, входящих в триангуляцию, минимальна.

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

Первая строка входных данных содержит целое число \(N\) (3≤\(N\)≤100) - количество вершин в многоугольнике. Далее идет \(N\) пар целых чисел \(x_i\), \(y_i\), не превосходящих 10000 по абсолютной величине - координаты выпуклого \(N\)-угольника в порядке обхода.

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

Выведите одно действительное число - минимальную суммарную длину диагоналей триангуляции с точностью не менее 6 знаков.

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

Триангуляцией \(N\)-угольника называется набор из \(N\)-3 непересекающихся (кроме как в вершинах многоугольника) диагоналей, разбивающих \(N\)-угольник на \(N\)-2 треугольника.

Для заданного выпуклого \(N\)-угольника найдите триангуляцию, у которой длина самой большой диагонали, входящей в триангуляцию, минимальна.

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

Первая строка входных данных содержит целое число \(N\) (3≤\(N\)≤100) - количество вершин в многоугольнике. Далее идет \(N\) пар целых чисел \(x_i\), \(y_i\), не превосходящих 10000 по абсолютной величине - координаты выпуклого \(N\)-угольника в порядке обхода.

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

Выведите одно натуральное число - минимальное значение квадрата длины самой большой диагонали в триангуляции.


Страница: << 29 30 31 32 33 34 35 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест