Эмулятор cd/pwd
Просмотр в формате PDFНеобходимо реализовать эмулятор командной строки, который поддерживает две команды:
cd path— изменить текущий рабочий каталог на путьpath;pwd— вывести текущий абсолютный путь.
Изначально текущий каталог равен корню файловой системы, то есть /.
Путь path — непустая строка, состоящая из компонент, разделённых символом /. Каждая компонента может быть одной из следующих:
- обычное имя — непустая строка из строчных латинских букв, цифр и символов подчёркивания, длиной не более
40; .— текущий каталог;..— переход на один уровень вверх; если текущий каталог уже является корнем, то переход вверх оставляет вас в корне.
Если path начинается с символа /, то это абсолютный путь, и переход выполняется от корня. Иначе это относительный путь, и переход выполняется от текущего каталога.
Гарантируется, что путь не оканчивается на /, кроме случая, когда path равен /. Если в пути встречаются несколько символов / подряд, они считаются одним разделителем, а пустые компоненты игнорируются.
Считайте, что любой каталог существует, никаких проверок наличия выполнять не нужно.
Абсолютный путь должен выводиться в следующем формате:
- если текущий каталог — корень, вывести
/; - иначе вывести все компоненты через
/, с одним ведущим/и без завершающего/.
Входные данные
В первой строке задано целое число q — количество команд.
В каждой из следующих q строк записана одна команда:
- либо
cd path, гдеpathописан выше; - либо
pwd.
Выходные данные
Для каждой команды pwd выведите в отдельной строке текущий абсолютный путь.
Ограничения
1 <= q <= 10^5- длина каждого пути в команде
cdне превосходит200 - суммарная длина всех путей во входных данных и всех строк, которые требуется вывести, не превосходит
5 * 10^5символов
Примеры
Пример 1
Входные данные
3
pwd
cd /
pwd
Выходные данные
/
/
Пример 2
Входные данные
7
pwd
cd /
pwd
cd a/./b/../c
pwd
cd /../../x
pwd
Выходные данные
/
/
/a/c
/x
Комментарии