1. naloga

Varnostno kopiranje

Podan imamo seznam poti do več map oz. imenikov (direktorijev) na računalniku, ki jih želimo kopirati na zunanji disk za varnostno kopijo. Toda na seznamu so tudi pod- vojene mape ter mape, ki so že podmape drugih map. Če imamo na seznamu mape /home/user/, /home/user in /home/user/slike, je to v resnici enako seznamu samo s /home/user/, saj se prvi dve poti nanašata na isto mapo, zadnja pa je podmapa in je ni treba kopirati posebej, saj bo skopirana, ko bomo kopirali njeno starševsko mapo.

Napiši program, ki prebere seznam poti in izpiše le tiste izmed njih, ki jih je treba skopirati, da se izognemo nepotrebnemu kopiranju. Pri tem ni pomemben vrstni red izpisanih poti, važno je le, da so podmnožica podanih poti in da jih je čim manj. Če obstaja več enako dobrih rešitev, je vseeno, katero izpišeš.

Predpostaviš lahko, da so poti na voljo v datoteki poti.txt in vsaka pot je v svoji vrstici. Zagotovljeno je, da se vse poti začnejo s poševnico „/“, imena map pa bodo vsebovala le male črke angleške abecede, števke ter podčrtaj „_“. Vse poti bodo veljavne (ni ti treba npr. skrbeti zaradi poti oblike abc//def). Dolžina vsake poti bo manjša od 4096 znakov.

Poti je lahko veliko, zato naj bo tvoj program čim bolj učinkovit.

Primer vhoda:

/home/admin/config
/home/user/slike
/home/user/slike_stare
/home/user/dokumenti/sola/
/home/user/dokumenti/sola/slo/spisi/
/home/admin/config/
/home/user/minecraft/savegames/svet1
/home/user/minecraft/savegames/svet2
/home/user/slike/2019/smucanje/
/var/www/web/
/home/admin/config/


Možen izhod (vrstni red ni pomemben):

/home/user/slike
/home/user/slike_stare
/home/user/dokumenti/sola/
/home/admin/config/
/home/user/minecraft/savegames/svet1
/home/user/minecraft/savegames/svet2
/var/www/web/