Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Задача на оптимальное решение


zalfreid ©   (2005-01-24 05:14:00) 

Никак не могу понять, как решить. Помогите? Может советом или показательным решением.
---------------------------
Задача на оптимальное решение (надо решить за наименшее время и с наименьшим объёмом задействованной памяти)

На входе имеем стринг, содержащий строку вроде этой:

#1ao#4esira#1#2a;sdfkja;s#56asdlf#3#56alk#3s#1dj#2qwef3a#1

Этот текст надо разобрать на фрагменты, фрагменты помечены метками, обозначающими номер фрагмента.
Метки имеют вид: # и число, например: #1, #6 и т.д.

Метки обозначают начало и конец части фрагмента.
Если фрагментов с каким-то номером несколько, то эти фрагменты складваются в один фрагмент с этим номером. Если какой-то фрагмент вложен в другой фрагмент, то вложенный фрагмент вырезается из фрагмента, в который он вложен.

Вывод выглядит следующим образом:

*** Fragment 1 ***

ao#4esiradj#2qwef3a

*** Fragment 2 ***

a;sdfkja;ss#1dj

*** Fragment 3 ***

#56alk

*** Fragment 56 ***

asdlf#3
---------------------------

Заранее благодарен


Digitman   (2005-01-24 08:46:00) [1]

это что, учебная задача ?
почему идентификаторы меток для вложенных фрагментов дублированы (например, в строке есть фрагмент #1, вложенный во фрагмент #1) ?

задача вряд ли имеет однозначное решение, по неоднозначности результата она подобна вычислению арифм.выражения, когда не обозначены приоритеты выполнения операторов, например :

2 + 3 * 4 = 20
2 + 3 * 4 = 24


Наверх

Титульная страница Поиск, карта сайта Написать письмо