Учитывая
-  
словарь, полный слов
{in, july, den, dentist, best, ...}с некоторым API С++ для доступа к нему:boolean findWord(string word)илиstring getNextWord(void)для итерации через него, -  
некоторая строка ввода без пробела, например:
bestdentistinjuly... 
Выход
-  
best dentist in july is...(в основном отделяйте непространственную строку пробелом, заданному словарем) 
Каким будет лучший алгоритм для его решения?
Тонкий, но важный вопрос заключается в том, есть ли какой-нибудь причудливый способ решить недостижимую тупиковую проблему. Например, den и dentist являются действительными словами для рассеивания остальной части строки, одна из которых может быть просто тупиковой.
Мне кажется, что это жадная проблема или что-то решаемое динамическим программированием..
