Олимпиады по программированию olympiads.ru |
|
I Всероссийская заочная олимпиада школьников по информатике, 2006/07 учебный годЗадача K. Иностранные языки
Папа Васи очень заботится об образовании сына. Особое значение он придает иностранным языкам. Недавно они приступили к изучению английского. Чтобы ускорить процесс, папа разговаривает с Васей исключительно на нем. Разумеется, это создает некоторые трудности при общении. Каждый раз, когда Вася что-нибудь скажет, папе приходится долго гадать, что именно он имел в виду. Папа знает словарный запас сына. Считается, что Вася мог иметь в виду словарное слово P, если оно входит как подпоследовательность в слово T (то, что он сказал). Другими словами, если существует такая возрастающая последовательность индексов i1 < i2 < ... < im (где m - длина P), что P[j] = T[ij] для всех j = 1..m. Вам дается словарный запас Васи и сказанное им слово. Для каждого словарного слова надо определить, мог ли Вася иметь его в виду. Формат входных данных В первой строке входного файла содержится единственное число K. В следующих K строках идут слова из словаря, по одному на каждой строке. На последней (K + 2)-й строке входного файла содержится слово, сказанное Васей, длиной не более 100 000. Все слова в словаре непустые. Все слова состоят из строчных латинских букв. Гарантируется, что суммарная длина слов из словаря не превышает 1 000 000 символов. Формат выходных данных В выходной файл выведите K строк. В i-й строке должно быть записано 'YES', если Вася мог иметь в виду слово номер i из словаря, и 'NO' в противном случае. Примеры
|