ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Задача 102785
УсловиеШаблоном называется строка, состоящая из английских букв (a, ..., z, A, ..., Z) и символов ? и *. Каждый из символов ? разрешается заменить на одну произвольную букву, а каждый из символов * – на произвольную (возможно пустую) последовательность букв. Про любую строку из букв, которую можно получить из шаблона такими заменами, будем говорить, что она удовлетворяет этому шаблону.Имеются два шаблона. Требуется найти строку минимальной длины,
которая удовлетворяет обоим шаблона, либо выдать сообщение, что такой
строки не существует.
РешениеСкачать архив тестов и решенийПусть нам заданы два шаблона S[1..M] и T[1..N]. Обозначим через F(i, j) любую строку минимальной длины, удовлетворяющую шаблонам S[1..i] и T[1..j]. Если такой строки нет, то в F(i, j) будет стоять специальная пометка, говорящая об этом. Вычисляем значения F(i, j) в порядке возрастания i, а при равных i – в
порядке возрастания j. Возможны следующие ситуации (мы считаем, что i, j > 0,
разбор граничных случаев проведите самостоятельно): Источники и прецеденты использования |
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|