Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Файловый менеджер






Сумма строки.

Дан текст, состоящий из цифр, латинских букв, пробелов, знаков препинания (не более 5000 символов). Найти сумму всех чисел, записанных в этом тексте (символы окончания и перевода строки игнорировать).

Пример входных данных:

A14gh, gfdgf 2ertretdgdfgdf3

5fghgf 1 1000 dfgfdgdfg2

Пример выходных данных:

 

Покраска лабиринта

Лабиринт представляет собой квадрат, состоящий из NxN сегментов. Каждый из сегментов может быть либо пустым, либо заполненным монолитной каменной стеной. Гарантируется, что левый верхний и правый нижний сегменты пусты. Лабиринт обнесён сверху, снизу, слева и справа стенами, оставляющими свободными только левый верхний и правый нижний углы. Директор лабиринта решил покрасить стены лабиринта, видимые изнутри (см. рисунок). Помогите ему рассчитать количество краски, необходимой для этого.

 

Ограничения: 3 < = N < = 33, размер сегмента 3 x 3 м, высота стен 3 м, время 1 с.

Ввод из файла paintlab.in. В первой строке находится число N, затем идут N строк по N символов: точка обозначает пустой сегмент, решётка - сегмент со стеной.

Вывод в файл paintlab.out. Вывести одно число - площадь видимой части внутренних стен лабиринта в квадратных метрах.

Примеры

Ввод 1

.....

...##

..#..

..###

.....

Вывод 1

 

Файловый менеджер

Имя входного файла: fur.in
Имя выходного файла: fur.out
Максимальное время работы на одном тесте: 2секунды
Максимальный объем используемой памяти: 64 мегабайта
Максимальная оценка 100 баллов

Петя работает над очень большим проектом. Проект содержит N файлов. В процессе работы Пете часто приходится просматривать и редактировать файлы. Для ускорения работыПетя использует файловый менеджер FurManager, который отображает список имен файлов проекта в некотором порядке.

В текущей версии FurManager’aдля перемещения по списку имен файлов есть следующие возможности:

1) можно нажать клавишу вниз, при этом курсор перемещается на следующий файл в списке, для последнего файла следующим считается первый;

2) можно нажать клавишу вверх, при этом курсор перемещается на предыдущий файл в списке, для первого файла предыдущимсчитается последний;

3) можно нажать клавишу Alt и, удерживая ее, набрать последовательность латинских букв. После этого клавишу Alt следует отпустить, и в этот момент курсор переместится на ближайший файл, имя которого начинается c заданной последовательности символов. Ближайший файл —это файл, на который можно переместиться за наименьшее количество нажатий клавиши вниз. Если заданная последовательность является началом имени текущего файла, или файла, имя которого начинается с этой последовательности, не существует, то курсор останется на месте.

Первая и вторая из описанных возможностей файлового менеджера требуют по одному нажатию клавиши, а третья — одного нажатия (нажатие клавиши Alt) плюс количество нажатий, равное длине набранной последовательности латинских букв.

Файлы пронумерованы от 1 до N в порядке их следования. После загрузки FurManager’а курсор находится на первом файле.

Петя знает, что ему сначала придется редактировать файл с номером a 1, затем с номером a 2 и так далее, а последним — файл с номером ak. В последовательности a 1, a 2,..., ak один и тот же номер может встречаться несколько раз. При каждом перемещении от одного файла к другому Петя хочет нажимать как можно меньше клавиш.

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

Формат входных данных

В первой строке входного файла записано целое число N (1 ≤ N ≤ 1000) — количество файлов в проекте.

В следующих N строках записаны имена файлов, по одному в каждой строке. Файлы перечислены в том порядке, в котором они отображаются файловым менеджером. Имена состоят только из строчных латинских букв. Длина каждого имени не превосходит 2000 символов. Все имена файлов различны.

Далее в следующей строке записано целое число k (1 ≤ k ≤ 10).

Последняя строка входного файла содержит k целых чисел a 1, a 2,..., ak (1 ≤ aiN) — номера редактируемых файлов. Редактирование файлов выполняется в том порядке, в котором они встречаются в последовательности a 1, a 2,..., ak.

Формат выходных данных

Выходной файл должен содержать описание искомой последовательности нажатий клавиш в виде k блоков информации:

· первый блок информации описывает перемещение от файла с номером 1 к файлу с номером a 1;

· второй блок информации описывает перемещение от файла с номером a 1 к файлу с номером a 2;

· …

· k -ый блок информации описывает перемещение от файла с номером ak –1 к файлу с номером ak.

Каждый блок информации выглядит следующим образом.

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

Следующие L строк блока описывают нажимаемые клавиши. Каждая из строк содержит описание одной клавиши:

· если нажимается клавиша вниз, то в строке записывается слово down;

· если нажимается клавиша вверх, то в строке записывается слово up;

· если нажимается клавиша Alt, то в строке записывается слово Alt;

· при нажатии клавиши с латинской буквой выводится соответствующая ей латинская буква.

Если существует несколько оптимальных способов перемещения, то требуется вывести любой из них.

Примеры

fur.in fur.out
submit monitor monitorx monyator subversion sub 6 3 3 5 2 up Alt m down down down Alt m
abc abv abba auto test auvto ioi olympiad 4 6 Alt a u down down

 

https://imcs.dvfu.ru/


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал