Родные просторы
시간 제한1초메모리 제한1024 MB
문자열과 k×k 삭제 허용 표가 주어질 때, 허용된 삭제만으로 만들 수 있는 문자열 중 사전순으로 가장 작은 문자열을 구한다.
문제
Вы играете на смартфоне в игру <<Родные просторы>>, в которой управляющий Остап помогает помещику восстановить отцовский дом. Игра происходит следующим образом.
Дана последовательность из кристаллов, расположенных в один ряд слева направо. Каждый кристалл относится к одному из видов, обозначенных первыми английскими буквами. Таким образом, последовательность кристаллов записывается строкой английских букв.
За один ход игры можно удалить из последовательности один кристалл. Цель игрока --- получить в результате применения разрешенных видов удалений лексикографически минимально возможную строку.
Разрешённые виды удаления кристаллов заданы таблицей размера из нулей и единиц. Если , то разрешается удалить кристалл вида , если непосредственно слева от него находится кристалл вида . Данные действия можно выполнять в любом порядке.
Напомним, что строка лексикографически меньше строки , если выполнено одно из двух условий:
- существует такая позиция символа , присутствующая в обеих строках, что до -го символа строки совпадают, а -й символ строки меньше -го символа ,
- строка является строгим префиксом (то есть получается отбрасыванием одного или больше символов с конца строки ).
입력
В первой строке даны два целых числа и (, ) --- количество видов кристаллов и длина исходной последовательности кристаллов.
В следующих строках задана таблица , -я строка содержит ровно символов или . Символ в -й строке на -й позиции равен .
В последней строке записаны строчных английских букв, задающие исходную последовательность кристаллов. Гарантируется, что в строке встречаются только первые букв английского алфавита, -я по счёту буква английского алфавита обозначает -й вид кристаллов.
출력
Выведите лексикографически минимальную строку, которую можно получить из исходной строки разрешёнными действиям.
제한
힌트
В примерах из условия разрешены следующие виды удалений (удаляемый символ зачёркнут, символ непосредственно перед ним подчёркнут): a, bb, cca.
Возможная последовательность удалений в первом примере:
abacabaabacabaabacaaabacaaabacaabacaabacabacaac
Возможная последовательность удалений во втором примере:
bcacbbcacbbacb