Вспомним игру: "Придумай слово", в которой из букв слова-донора составляют другие слова. Например, из слова МОНИТОР можно получить МОТОР, РОТ, ТИР и др. Вхождение каждой буквы в новое слово допускается не более того числа раз, ...

Вспомним игру: "Придумай слово", в которой из букв слова-донора составляют другие слова. Например, из слова МОНИТОР можно получить МОТОР, РОТ, ТИР и др. Вхождение каждой буквы в новое слово допускается не более того числа раз, с каким она входит в слово-донор.  Пусть дана последовательность слов, разделенных пробелами в виде строки символов. Известно, что первое слово в этой строке является донором. Выбрать из оставшихся слов последовательности те, которые можно получить из заданного слова-донора.
Гость
Ответ(ы) на вопрос:
Гость
Prime := { Получаем первое слово из последовательности };  while { не конец последовательности (не известно от куда аффтар получает слова ) } do    begin      Slovo := { Получаем очередное слово последовательности };      if Length(Slovo) <= Length(Prime) then        begin          CopyPrime := Prime;          N := 1;          while (N <= Length(Slovo)) and (Pos(Slovo[N], CopyPrime) > 0 do            begin              Delete(CopyPrime, Pos(Slovo[N], CopyPrime), 1);              Inc(N);            end;          if N > Length(Slovo) then            { Slovo можно получить из первого слова }          else            { нельзя получить Slovo из первого слова }        end;    end; 
Не нашли ответ?
Ответить на вопрос
Похожие вопросы