Вход


Главная страница >> Учебный процесс >> Задачник >> Олимпиадные задачи (с решениями) >> Учебный процесс >> Задачник >> Олимпиадные задачи (с решениями) >> Рекурсия >> Номер 24

[Назад]    [Содержание ]    [Вперед]

  


Номер 24


  Условие: Номер 24


Задача 23. Заданы z и y - две последовательности. Можно ли получить последовательность z вычеркиванием элементов из y.

  Решение задачи: Номер 24


Решение задачи 23. Пусть z есть массив из N элементов, y - из M. Положим i=1 и j=1. Берем элемент z[i] и ищем минимальное k, k>=j, k<=M, такое что y[k]=z[i] (мы находим очередной совпадающий символ в строках z и y). Полагаем i=i+1 и j=k+1. Повторяем поиск элемента z[i] в оставшемся куске последовательности y. Условия окончания поиска: a) Если i стало больше N (т.е. все элементы массива z являются подпоследовательностью элементов y), - и тогда z можно получить вычеркиванием элементов из y. б) Если в оставшимся куске последовательности y не найдено элемента, совпадающего с очередным z[i], то z из y получить нельзя.

Назад



[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017