Дана символьная строка S длины N (0 N 100) и словарь, который содержит M слов (0 M 100), длина каждого из которых не превышает N. Строка и слова состоят из символов a, b, …, z.
Напишите программу, которая определяет наименьшее количество символов, которое необходимо вычеркнуть из заданной строки S, чтобы результирующую строку можно было представить как последовательность слов словаря. Количество использований каждого слова не ограничивается. Считается, что пустую строку можно представить с помощью слов любого словаря.
Строка в примере после вычеркивания лишних букв f и t примет вид abachdsya (было сделано два вычеркивания: abafchtdsya), и может быть представлена как последвательность следующих слов: a, bach, dsy, a.
В первой строке входного файла находится два целых числа N и M, оразделенных пробелом. Во второй строке находится символьная строка S. В каждой из следующих M строк находится слово словаря.
В единственной строке выходного файла должно находиться натуральное число – минимальное количество вычеркиваний, после которых зашифрованная строка может быть представлена в виде последовательности слов словаря.
11 5 abafchtdsya aba a bach dsy zero
2
Юлий Цезарь использовал свой способ шифрования текста. Каждая буква заменялась на следующую по алфавиту через K позиций по кругу. Необходимо по заданной шифровке определить исходный текст.
В первой строке дана шифровка, состоящая из заглавных латинских букв. Во второй строке число K (1 ≤ K ≤ 10).
Требуется вывести результат расшифровки.
XPSE 1
WORD
ZABC 3
WXYZ
Дана строка S, в которой выделили подстроку, состоящую из символов с i-го по j-й включительно (символы строки S нумеруются с единицы) и поменяли местами i-й символ с j-м, (i+1)-й с (j-1)-м и так далее (конвертировали подстроку). Выведите строку S после внесенных изменений.
В первой строке входного файла содержится строка S, длиной не более 1000 символов, во второй – числа i и j (i ≤ j).
В выходной файл выведите ответ на задачу.
vjhoamkts 7 8
vjhoamtks
qwkvjqrealvrbgiyn 10 10
qwkvjqrealvrbgiyn
yfvblenhrwubmvwtltypfcrnbohoesdpbdbxsfyiislufdfglbsxerhrazoigehmtjshvtkzhsheqbduyrrccvhtfnoinatybrsyxhcuzmfgahcgeveqsmuvzzpcmcsdukkksoqxcrhmqklpykgrdqgruixoqbdlkkwdinxclxptpphyxrklatmqjlxzjgvgdarmjnbwcwihbxrrhovxjmqspfbcawmfxbapvzsfifs 175 182
yfvblenhrwubmvwtltypfcrnbohoesdpbdbxsfyiislufdfglbsxerhrazoigehmtjshvtkzhsheqbduyrrccvhtfnoinatybrsyxhcuzmfgahcgeveqsmuvzzpcmcsdukkksoqxcrhmqklpykgrdqgruixoqbdlkkwdinxclxptpptalkrxyhmqjlxzjgvgdarmjnbwcwihbxrrhovxjmqspfbcawmfxbapvzsfifs
Дана строка, Вам требуется преобразовать все идущие подряд пробелы в один.
Длина строки не превосходит 1000.
Выведите измененную строку.
nz d urp lren s bwz boom t a j ho vi
nz d urp lren s bwz boom t a j ho vi
d iz czl l l h udq t
d iz czl l l h udq t
Для того чтобы выходить в Интернет, каждому компьютеру присваивается так называемый IP-адрес. Он состоит из четырех целых чисел в диапазоне от 0 до 255, разделенных точками. В следующих трех строках показаны три правильных IP-адреса:
127.0.0.0 192.168.0.01 255.00.255.255
Напишите программу, которая определяет, является ли заданная строка правильным IP-адресом.
На вход программе подается строка длиной не более 15 символов, которая включает цифры и ровно три точки.
Если строка является правильным IP-адресом, необходимо вывести 1, иначе 0.
127.0.0.1
1
12...34
0