XVIII всероссийская олимпиада школьников по информатике в Кисловодске. |
Назад |
Задача 2.Файловый менеджер
       Петя работает над очень большим проектом. Проект содержит N файлов. В процессе работы Пете часто приходится просматривать и редактировать файлы. Для ускорения работы Петя использует файловый менеджер Fur Manager, который отображает список имен        файлов проекта в некотором порядке. В текущей версии Fur Manager’a для перемещения по списку имен файлов есть следующие возможности:
       Файлы пронумерованы от 1 до N в порядке их следования. После загрузки Fur Manager’а курсор находится на первом файле.        Петя знает, что ему сначала придется редактировать файл с номером a1, затем с номером a2 и так далее, а последним — файл с номером ak. В последовательности a1, a2, ..., ak один и тот же номер может встречаться несколько раз. При каждом перемещении от одного файла к другому Петя хочет нажимать как можно меньше клавиш.        Требуется написать программу, которая выдает искомую последовательность нажатий клавиш. Формат входных данных       В первой строке входного файла записано целое число N (1 <= N <= 1000) — количество файлов в проекте.       В следующих N строках записаны имена файлов, по одному в каждой строке. Файлы перечислены в том порядке, в котором они отображаются файловым менеджером. Имена состоят только из строчных латинских букв. Длина каждого имени не превосходит 2000 символов. Все имена файлов различны.        Далее в следующей строке записано целое число k (1 <= k <= 10).        Последняя строка входного файла содержит k целых чисел a1, a2, ..., ak (1 <= ai <= N) — номера редактируемых файлов. Редактирование файлов выполняется в том порядке, в котором они встречаются в последовательности a1, a2, ..., ak. Формат выходных данных       Выходной файл должен содержать описание искомой последовательности нажатий клавиш в виде k блоков информации:
       В первой строке блока записывается число L — наименьшее количество нажатий клавиш, необходимое для перемещения от очередного файла последовательности к следующему.        Следующие L строк блока описывают нажимаемые клавиши. Каждая из строк содержит описание одной клавиши:
Примеры:
|
|||||||||||||||||||
Личный сайт им. РОССОМАХи | ICQ: 229654802 | e-mail: poc.leb@mail.ru | design by: POCCOMAXA | ||||||||||||||||