|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Это одна из задач, решаемых с помощью динамического программирования. Т.е. тебе нужно организовать некоторую дополнительную структуру данных и алгоритм, обрабатывающий эту струкруру для достижения нужного результата.
Например (лень писать полный код): 1. создаем массив Integer, кол-во элементов равное кол-ву строк в Memo. 2. инициируем каждый элемент единичкой. 3. Теперь делаем 1 цикл который берет число из последний ячейки, по нему выбираем цифру из соотв. строки Memo. Если это последнее число, то переставляем на начало и увеличиваем счетчик следующей ячейки, а текущую сбрасываем в начальное значение. Так вот и перебираем, пока не переберем все, т.е. пока не потребуется переставить на начало самую первую ячейку. Может сумбурно объяснил... Да, это все из предположения, что длинна всех строк одинаковая. Если разная, то надо еще доп. ограничеие добавить, т.е. массив будет не просто из счетчиков, но и еще и хранить длинну строки для контроля. |