Дана строка, содержащая только английские буквы (большие и маленькие). Добавить открывающиеся и закрывающиеся скобки по следующему образцу: "example" -> "e(x(a(m)p)l)e" (До середины добавлены открывающиеся скобки, после середины – закрывающиеся. В случае, когда длина строки четна в скобках, расположенных в середине, должно быть 2 символа. ("card -> c(ar)d", но не "c(a()r)d").
Вводится строка ненулевой длины. Известно также, что длина строки не превышает 1000 знаков.
Вывести строку, которая получится после добавления скобок.
LItBeoFLcSGBOFQxMHoIuDDWcqcVgkcRoAeocXO
L(I(t(B(e(o(F(L(c(S(G(B(O(F(Q(x(M(H(o(I)u)D)D)W)c)q)c)V)g)k)c)R)o)A)e)o)c)X)O
Дана строка, содержащая только английские буквы (большие и маленькие) и открывающиеся скобки. Сформировать новую строку добавлением справа «зеркальной» строки с закрывающимися скобками. "(abc(def(g" -> "(abc(def(gg)fed)cba)"
Вводится строка ненулевой длины. Известно также, что длина строки не превышает 1000 знаков.
Вывести строку, которая получится после "зеркальной" половины строки.
(((t((p((y((kx((((e(((((((vw((v(e((v(m(((h(mlx((s((((d(y((((((((mtk(d(umi((s((sx(p((m(r((kqo
(((t((p((y((kx((((e(((((((vw((v(e((v(m(((h(mlx((s((((d(y((((((((mtk(d(umi((s((sx(p((m(r((kqooqk))r)m))p)xs))s))imu)d)ktm))))))))y)d))))s))xlm)h)))m)v))e)v))wv)))))))e))))xk))y))p))t)))
Дана строка, содержащая только маленькие английские буквы. Сформировать новую строку путем «сокращения» одинаковых букв, находящихся на симметричных местах (то есть если на одинаковом расстоянии от центра строки находятся 2 одинаковые буквы, то их нужно убрать из строки). Если длина строки нечетна, то среднюю букву сокращать не нужно.
Вводится строка ненулевой длины. Известно также, что длина строки не превышает 1000 знаков.
Вывести строку, которая получится после "сокращений". Тесты подобраны таким образом, что после сокращений будет оставаться непустая строка.
ptijoydrgfrudwekryneqaiodorathnljczynykmjkwuhqfiuljznpocwgtmnsmkbvfbxyxvbkcnlfvijzkwgudwdhherdmnpjlrrletkqmwkicsnhvahxfnzssjmhgqfaolymmfauwffzhtxqtxjldppwkonqplktrycxtrojfalvpbrkirhsgetksrqalouapifysbmuaunrpjrfejdahqhonlhdxcrugvzpqbezyqeardkydmtbxjonvgvdimxzwqgsqctijgjpnkgcwuqqfcwgntzsyefexrfqhasaojfrxaplvwkhrlpovjthwavuqgxhhxgsuvywhtxvtpfrlkwvlpaxjajoasahqfrxehevszunrwcpidmwcgknpjvxiwgqsgqwzxaiuvyvnthxbtmiygtraewfzebqpzvgulcxdclnohqcazjefrzprnuaumbsybipauoqaqrxktevshkhkrwpvsafjoltxcyrtklpunokwmpfluxtzxphnflwyyammyltafqghmjssznfxhavluscakweqkteqrrljpnmdwehjlqdughkzjovfliqkbvlyxbfvbamsnyvgkpoynujbuifqquwkjmnneyzcjlnzparoqoaaqenwrnexdurfgrdyoxiag
ptjwkyidthnykhlzpcwtmkxcniwwdhrlminhofaufztqjdpqrlbirgslfjdhhryqdkdjogdmctjguqqfgtyffrhlojaqsyxtfljahvurpidmvxwgauythigtwflcczzbqxvkhwslumfuzpnlyyatluaeqwjlqhoiqlayvkpyubqnnezpqawnxxag
Мы создали бесконечный кроссворд, взяв прямоугольник размера \(\)\(N \times M\)\(\), заполненный буквами и замостили им бесконечную плоскость. Например, прямоугольник
hsin
...hsinhsinhsinhsin...
...honihonihonihoni...
...hsinhsinhsinhsin...
В данном кроссворде нами случайно (равновероятно) выбирается одна клетка и одно из восьми направлений. Затем начиная с данной клетки в данном направлении выписывается слово длины \(\)\(K\)\(\). Описанный процесс повторяется (независимо от первого раза) второй раз. Вам требуется вычислить вероятность того, что два выписанных слова совпадут.
Первая строка содержит три числа \(\)\(M, N, K\)\(\) (\(\)\(1 \leq N, M \leq 500\)\(\), \(\)\(1 \leq K \leq 10^9\)\(\)) — размеры блока и длина выбираемого слова соответственно.
Следующие \(\)\(M\)\(\) строк содержат по \(\)\(N\)\(\) латинских строчных букв, задавая блок, коим замощается доска. Гарантируется, что в данных есть хотя бы две различные буквы.
Выведите требуемую вероятность в виде сокращённой дроби «p/q» без пробелов и кавычек.
Решение, правильно работающее на тестах, в которых \(\)\(N = M\)\(\) будет оцениваться в \(\)\(62\)\(\) балла.
1 2 2 ab
5/16
2 4 3 honi hsin
19/512
3 3 10 ban ana nab
2/27
По мнению Александра Павловича, текст необычайно красив, если некоторые особые слова (например, «коммунизм», «Ленин», «счастье») встречаются не слишком часто, но и не слишком редко, к тому же достаточно равномерно.
Александр Павлович работает корректором. К нему поступают тексты, он имеет право их некоторым образом менять, после чего возвращает уже исправленную версию.
В связи со своими воззрениями о красоте Александру Павловичу постоянно приходится проверять, сколько особых слов сейчас в той или иной части текста.
Он настолько устал от рутинного подсчёта: «а сколько тут особых слов?», «а сколько тут?», что просит вас помочь ему автоматизировать этот процесс.
Первая строка входного файла содержит текст длины \(L\) (\(1 \leq L \leq 10^5\)), в котором ищутся особые слова.
Следующая строка содержит \(N\) (\(1 \le n \le 10^5\)) — количество особых слов.
Следующие \(n\) строк содержат особые слова. Все особые слова различны. Суммарная длина строк не превосходит \(10^5\).
В следующей строке дано \(Q\) (\(1 \le q \le 10^5\)) — количество интересных Александру Павловичу отрезков.
Следующие \(q\) строк содержат сами отрезки.
Выведите \(q\) чисел — количества вхождений особых слов в соответствующий отрезок текста.
Тесты к данной задаче состоят из семи групп тестов. Баллы за каждую группу тестов ставятся только при прохождении всех тестов группы и всех тестов зависимых групп и теста из условия.
Обозначим за \(LEN_{max}\) максимальную длину особого слова.
abacababa 2 a aba 3 5 9 2 2 2 6
5 0 2