| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 39 | 13 | 10 | 37.037% |
Вы играете на смартфоне в игру <<Родные просторы>>, в которой управляющий Остап помогает помещику восстановить отцовский дом. Игра происходит следующим образом.
Дана последовательность из $n$ кристаллов, расположенных в один ряд слева направо. Каждый кристалл относится к одному из $k$ видов, обозначенных первыми $k$ английскими буквами. Таким образом, последовательность кристаллов записывается строкой английских букв.
За один ход игры можно удалить из последовательности один кристалл. Цель игрока --- получить в результате применения разрешенных видов удалений лексикографически минимально возможную строку.
Разрешённые виды удаления кристаллов заданы таблицей $A$ размера $k\times k$ из нулей и единиц. Если $A_{ij}=1,ドル то разрешается удалить кристалл вида $j,ドル если непосредственно слева от него находится кристалл вида $i$. Данные действия можно выполнять в любом порядке.
Напомним, что строка $x$ лексикографически меньше строки $y,ドル если выполнено одно из двух условий:
В первой строке даны два целых числа $k$ и $n$ (1ドル \le k \le 26,ドル 1ドル \le n \le 500,000円$) --- количество видов кристаллов и длина исходной последовательности кристаллов.
В следующих $k$ строках задана таблица $A,ドル $i$-я строка содержит ровно $k$ символов 0ドル$ или 1ドル$. Символ в $i$-й строке на $j$-й позиции равен $A_{ij}$.
В последней строке записаны $n$ строчных английских букв, задающие исходную последовательность кристаллов. Гарантируется, что в строке встречаются только первые $k$ букв английского алфавита, $i$-я по счёту буква английского алфавита обозначает $i$-й вид кристаллов.
Выведите лексикографически минимальную строку, которую можно получить из исходной строки разрешёнными действиям.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 10 | $n \le 20,ドル $k \le 26$ |
| 2 | 12 | $n \le 50,ドル $k \le 5$ |
| 3 | 16 | $n \le 300,ドル $k \le 5$ |
| 4 | 17 | $n \le 500,ドル $k \le 26$ |
| 5 | 10 | $n \le 2,000円,ドル $k \le 26$ |
| 6 | 9 | $n \le 10,000円,ドル $k \le 26$ |
| 7 | 8 | $n \le 100,000円,ドル $k \le 26$ |
| 8 | 11 | $n \le 500,000円,ドル $k \le 2$ |
| 9 | 7 | $n \le 500,000円,ドル $k \le 26$ |
3 7 010 001 100 abacaba
aac
3 5 010 001 100 bcacb
bacb
В примерах из условия разрешены следующие виды удалений (удаляемый символ зачёркнут, символ непосредственно перед ним подчёркнут): a(削除) , b (削除ここまで)b(削除) , c (削除ここまで)c.(削除) a (削除ここまで)
Возможная последовательность удалений в первом примере:
abacabaabaca(削除) b (削除ここまで)aabacaaabac(削除) a (削除ここまで)aabacaabac(削除) a (削除ここまで)abaca(削除) b (削除ここまで)acaacВозможная последовательность удалений во втором примере:
bcacbb(削除) c (削除ここまで)acbbacb