Diseñando un sistema operativo

Linus Torvalds, el creador del sistema operativo Linux, ha decidido confiarte el mantenimiento de la base de código de dicho sistema operativo. Sin embargo, como te gusta experimentar, has decidido reescribir algunos de los comandos más populares y ponerlos en producción.
notion image
Esta semana vas a reescribir los comandos pwd (print working directory) y cd (change directory). Te gustaría que estos comandos funcionen basándose en la entrada del usuario:
  1. Si el usuario ingresa pwd, el programa debe imprimir el directorio de trabajo actual.
  1. Si el usuario ingresa cd folder, el programa debe cambiar a esa carpeta:
      • 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/.
- Si la carpeta es .., significa que el programa debe moverse al directorio padre. Por ejemplo, si estamos en /usr/local/bin/, el programa debe pasar a /usr/local/.

Entrada

La primera línea de la entrada contiene un único número entero n (1 ≤ n ≤ 100), que representa la cantidad de comandos.
Las siguientes n líneas contienen los comandos. Se garantiza que la longitud de cada comando no excede 200 caracteres.

Salida

El programa debe imprimir los resultados de todos los comandos pwd, cada uno en una línea separada.

Ejemplos

Entrada
Salida
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