Linus Torvalds, le créateur du système d’exploitation Linux, a décidé de vous confier la maintenance du code source de ce système. Cependant, comme vous aimez expérimenter, vous avez choisi de réécrire certaines des commandes les plus populaires et de les déployer en production.
Cette semaine, vous réécrivez les commandes pwd (print working directory) et cd (change directory). Vous souhaitez que ces commandes fonctionnent en fonction des saisies de l’utilisateur :
Si l’utilisateur saisit pwd, le programme doit afficher le répertoire de travail actuel.
Si l’utilisateur saisit cd folder, le programme doit se déplacer vers ce dossier :
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 le dossier est .., cela signifie que le programme doit remonter au répertoire parent. Par exemple, si nous sommes dans /usr/local/bin/, le programme se déplacera vers /usr/local/.
Entrée
La première ligne de l’entrée contient un entier n (1 ≤ n ≤ 100), correspondant au nombre de commandes.
Les n lignes suivantes contiennent les commandes. La longueur de chaque commande ne dépasse pas 200 caractères.
Sortie
Le programme doit afficher les résultats de toutes les commandes pwd, chacune sur sa propre ligne.
Exemples
Entrée
Sortie
5
pwd
cd usr/local/bin
cd ..
pwd
cd /dev
/
/usr/local/
7
pwd
cd /home/anna
pwd
cd ..
pwd
cd anna/../bob
pwd