Задача B. Комментарии-2: Вложенные комментарии

Автор:А. Кленин   Ограничение времени:4 сек
Входной файл:input.txt   Ограничение памяти:128 Мб
Выходной файл:output.txt  

Условие

Входной файл содержит текст, состоящий из произвольных ASCII-символов. Внутри текста могут встречаться комментарии. Комментарий начинается сочетанием символов /* и заканчивается сочетанием символов */. Комментарии могут быть вложенными на произвольную глубину.

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

Формат входного файла

Входной файл содержит не более 1000 строк длиной не более 256 символов каждая.

Формат выходного файла

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

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
abc/*de/*f*/*/x
abcx
2
ab/*fg/*
c*/qw
/*rt
ab/*fgqw
/*rt

Задача C. Короткий текст и немного слов

Автор:A. Klenin   Ограничение времени:5 сек
Входной файл:input.txt   Ограничение памяти:200 Мб
Выходной файл:output.txt  

Условие

Имеется текст и N слов. Длина текста L символов, длина каждого слова — от 1 до 255 символов. Требуется для каждого слова определить, входит ли оно в текст. Все слова и текст состоят из латинских букв. Заглавные и строчные буквы считаются различными.

Формат входного файла

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

Формат выходного файла

Выходной файле должен содержать N чисел 1 или 0, обозначающих, что соответствующее слово входит или не входит в текст.

Ограничения

1 ≤ L ≤ 255, 1 ≤ N ≤ 1000.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
Longlongstring
2
short
string
0 1

Задача D. Подстановочный шифр

Автор:unknown   Ограничение времени:5 сек
Входной файл:input.txt   Ограничение памяти:200 Мб
Выходной файл:output.txt  

Условие

Шифрование строки подстановочным шифром производится путём замены каждого символа алфавита на другой символ. Разумеется, для однозначного шифрования и дешифрования необходимо, чтобы каждому символу исходного алфавита соответствовал ровно один символ зашифрованного, и наоборот. Например, при помощи шифра M->A, A->R, Y->K слово MAYA будет зашифровано в ARKR.
Даны две строки одинаковой длины, состоящие из заглавных латинских букв. Требуется найти подстановочный шифр, при помощи которого первая строка шифруется во вторую, или определить, что такого не существует. Например, для слов "GOOD" и "WELL" шифра не существует, потому что с одной стороны, буква "O" преобразуется одновременно в "E" и "L", а с другой стороны, буквы "O" и "D" обе превращаются в "L".

Формат входного файла

Входной файл содержит две строки.

Формат выходного файла

Выходной файл должен содержать последовательность пар символов, обозначающих замену при шифровании первого символа пары на второй. Пары должны быть расположены по одной в строке и отсортированы по алфавиту. В случае, если шифра не существует, следует вывести в выходной файл строку "--" (два знака минус).

Ограничения

Длина каждой строки должна не более 50 символов.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
MAYAS
ARKRS
AR
MA
SS
YK
2
TRAINING
TAADFTFK
--

Задача E. Пробелы в типографии

Автор:А. Кленин   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:200 Мб
Выходной файл:output.txt  

Условие

В соответствии с типографскими требованиями расстановка знаков пробела в тексте подчиняется следующим правилам: один пробел ставится после знаков "." (точка), "," (запятая), "!", "?". Перед и между этими знаками пробел не ставится. Один пробел ставится после слова перед открывающейся скобкой и перед словом после закрывающейся скобки. Знак тире (обозначен символом "-") отделяется пробелами от окружающих слов с обеих сторон. Последовательности из двух и более пробелов, а также пробелы между соседними знаками препинания, в начале и в конце строки запрещены. Требуется изменить расстановку пробелов в данной строке в соответствии с типографскими правилами.

Формат входного файла

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

Формат выходного файла

Выходной файл должен содержать переформатированную строку.

Ограничения

Исходная строка имеет длину не более 255 символов.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
This   is,a sam- -ple ( ( text)here
This is, a sam -- ple ((text) here

Задача F. Неточные подстроки

Автор:А. Кленин   Ограничение времени:4 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  

Условие

Будем говорить, что строки a и b имеют k различий, если длины этих строк одинаковы, а символы в позициях с одинаковыми номерами совпадают все, кроме k штук. Например, строки ABABAC и BBABAB имеют 2 различия.

По данной строке S длиной N символов и числу k требуется найти две подстроки одинаковой длины, начинающиеся с различных позиций, и имеющие не более k различий.

Формат входного файла

Входной файл содержит в первой строке целое число k, в во второй — строку S.

Формат выходного файла

Выходной файл должен содержать целое число — длину самой длинной найденной подстроки, либо 0 (ноль), если решения не существует.

Ограничения

Строка S состоит из заглавных латинских букв.

0 ≤ k ≤ N ≤ 1000

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1 
A
0
2
2
ABCACB
3

0.265s 0.012s 21