Палиндромом называется строка, которая одинаково читается как слева направо, так и справа налево. Подпалиндромом данной строки называется последовательность символов из данной строки, не обязательно идущих подряд, являющаяся палиндромом. Например, HELOLEH является подпалиндромом строки HTEOLFEOLEH. Напишите программу, находящую в данной строке подпалиндром максимальной длины.
Во входном файле находится строка длиной не более 100 символов, состоящая из заглавных букв латинского алфавита.
Выведите на первой строке выходного файла длину максимального подпалиндрома, а на второй строке сам максимальный подпалиндром. Если таких подпалиндромов несколько, то ваша программа должна вывести любой из них.
N
1 N
ABCDEF
1 A
Дана строка, составленная из круглых, квадратных и фигурных скобок. Определите, какое наименьшее количество символов необходимо удалить из этой строки, чтобы оставшиеся символы образовывали правильную скобочную последовательность.
Строка из круглых, квадратных и фигурных скобок. Длина строки не превосходит 100 символов.
Выведите строку максимальной длины, являющуюся правильной скобочной последовательностью, которую можно получить из исходной строки удалением некоторых символов.Если возможных ответов несколько, выведите любой из них.
([)]
[]
{([(]{)})][({})]Вам нужно распилить деревянный брус на несколько кусков в заданных местах. Распилочная компания берет \(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
Триангуляцией \(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
Триангуляцией \(N\)-угольника называется набор из \(N\)-3 непересекающихся (кроме как в вершинах многоугольника) диагоналей, разбивающих \(N\)-угольник на \(N\)-2 треугольника.
Для заданного выпуклого \(N\)-угольника найдите триангуляцию, у которой длина самой большой диагонали, входящей в триангуляцию, минимальна.
Первая строка входных данных содержит целое число \(N\) (3≤\(N\)≤100) - количество вершин в многоугольнике. Далее идет \(N\) пар целых чисел \(x_i\), \(y_i\), не превосходящих 10000 по абсолютной величине - координаты выпуклого \(N\)-угольника в порядке обхода.
Выведите одно натуральное число - минимальное значение квадрата длины самой большой диагонали в триангуляции.