Автор: | И. Бураго | Ограничение времени: | 2 сек | |
Входной файл: | input.txt | Ограничение памяти: | 64 Мб | |
Выходной файл: | output.txt |
Одно из любимых развлечений шушанчиков — разгадывание кроссвордов. Однажды им на глаза попался обрывок журнальной страницы, содержащий вопросы к кроссворду. Весь день они потратили на разгадывание слов. И лишь на следующий день им удалось найти вторую часть страницы, на которой была изображена схема кроссворда.
Схема кроссворда задается прямоугольной таблицей символов шириной W и высотой H. Пустые клетки, в которые следует вписывать буквы, обозначаются символом '#' (ASCII 35). Остальные клетки обозначаются символами '.' (ASCII 46).
Загаданное слово в кроссворде представляется в виде последовательности из трех или более символов '#', идущих подряд слева направо или сверху вниз, ограниченной в начале и в конце либо краями кроссворда, либо символами '.'.
Загаданные слова на схеме не пронумерованы. Вместо этого они упорядочиваются следующим образом. Слова по горизонтали перечисляются перед словами по вертикали. Слова одного направления отсортированы по положению первых букв в кроссворде: сначала по номеру строки (сверху вниз), затем, при равенстве номеров строк, по номеру столбца (слева направо).
Теперь шушачики хотят проверить, правильно ли они решили кроссворд.
Напишите программу, которая по заданному кроссворду определяет, является ли заданный набор слов его корректным решением. Слово в решении является корректным, если оно совпадает по длине с соответствующим загаданным словом и содержит в клетках, общих с ранее вписанными словами, те же самые буквы, что и предыдущие слова.
В первой строке входного файла содержатся числа W и H. Следующие H строк по W символов каждая описывают кроссворд.
В (H + 2)-й строке находится число слов N, за которым по одному в строке следуют слова, составляющие предполагаемое решение кроссворда в порядке, соответствующем загаданным словам.
В единственной строке выходного файла должна содержаться строка CORRECT, если кроссворд решен правильно, или первое в порядке перечисления в файле слово, на котором нарушается корректность решения — в противном случае.
3 ≤ W, H ≤ 500, 1 ≤ N ≤ 30000.
Длина любого слова в кроссворде и в его решении — от 3 до 250 символов. Слова состоят только из маленьких латинских букв. Число слов N совпадает с числом загаданных слов в кроссворде.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|