Проектирование операционной системы

Линус Торвальдс, создатель операционной системы Linux, решил доверить вам поддержку кода для этой системы. Однако, поскольку вы любите экспериментировать, вы решили переписать несколько самых популярных команд и запустить их в продакшене.
notion image
На этой неделе вы переписываете команды pwd (print working directory) и cd (change directory). Вам нужно сделать так, чтобы эти команды корректно реагировали на пользовательский ввод:
  1. Если пользователь вводит pwd — программа должна вывести текущую рабочую директорию.
  1. Если пользователь вводит cd folder — программа должна перейти в соответствующую папку:
      • If the folder is .. - it means that the program should move to the parent directory. So, if we’re at directory /usr/local/bin/, the program should move to /usr/local/.
      • If the folder is . - it means that the program should stay in the current directory.
      • If the folder starts with /, it means that the program should change the absolute path of the directory - not the relative. So, if we’re at directory /usr/local/bin/, and the input was cd /dev, the program should move to /dev/.
      • If the folder is a name (Latin letters or numbers) - the program should move to that directory relative to the current one. So, if we’re at directory /usr/local/bin/, and the input was cd ../lib, the program should move to /usr/local/lib/.
- Если папка .. — значит нужно переместиться в родительскую директорию. Например, если мы находимся в /usr/local/bin/, тогда программа должна перейти в /usr/local/.

Входные данные

Первая строка содержит целое число n (1 ≤ n ≤ 100) — количество команд.
Следующие n строк содержат сами команды. Гарантируется, что длина каждой команды не превышает 200 символов.

Выходные данные

Программа должна выводить результат для каждой команды pwd на отдельной строке.

Примеры

Входные данные
Выходные данные
5 pwd cd usr/local/bin cd .. pwd cd /dev
/ /usr/local/
7 pwd cd /home/anna pwd cd .. pwd cd anna/../bob pwd
/ /home/anna/ /home/ /home/bob/
4 cd /usr/local pwd cd ../usr/local pwd
/usr/local/ /usr/usr/local/
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue