Diferente pentru problema/dir intre reviziile #47 si #61

Nu exista diferente intre titluri.

Diferente intre continut:

* numele folderelor incep cu o litera, au maxim 30 de caractere si sunt scrise cu majuscule;
* numele fisierelor de date incep cu o litera, au maxim 30 de caractere si sunt scrise cu minuscule;
* caracterele utilizate pentru numele fisierelor si folderelor sunt literele alfabetului englez si cifrele arabe;
* reprezentarea structurii fisierelor sub forma unui sir de caractere se realizeaza dupa urmatoarea regula: $NUME_FOLDER$(lista_de_foldere_si_fisiere), unde lista_de_foldere_si_fisiere, posibil vida, contine fisierele si/sau subfolderele folderului $NUME_FOLDER$, separate prin virgula. Subfolderele se reprezinta respectand aceeasi regula. De exemplu, structura de fisiere si foldere din figura de mai jos se reprezinta prin sirul de caractere:
* reprezentarea structurii fisierelor sub forma unui sir de caractere se realizeaza dupa urmatoarea regula: $NUME_FOLDER(lista_de_foldere_si_fisiere)$, unde $lista_de_foldere_si_fisiere$, posibil vida, contine fisierele si/sau subfolderele folderului $NUME_FOLDER$, separate prin virgula. Subfolderele se reprezinta respectand aceeasi regula. De exemplu, structura de fisiere si foldere din figura de mai jos se reprezinta prin sirul de caractere:
{@FOLDER1(FOLDER2(),FOLDER3(FOLDER4(poveste,basm),basm))@}
!problema/dir?dir.jpg!
!http://infoarena.ro/problema/dir?action=download&file=dir.jpg!
 
h2. Cerinta
Scrieti un program care, cunoscand sirul de caractere ce codifica o structura de fisiere de pe disc, determina calea pentru fiecare fisier de date din structura. Prin cale a unui fisier se intelege o succesiune de foldere, fiecare folder fiind urmat de caracterul $\$(backslash), incepand de la folderul aflat pe cel mai inalt nivel al structurii (primul specificat in sirul ce codifica structura de fisiere), pana la subfolderul in care se afla fisierul de date respectiv si terminata cu numele fisierului. Caile determinate vor fi afisate in ordine lexicografica.
h2. Date de iesire
Fisierul de iesire $dir.out$ va contine pe prima linie un numar natural $N$ reprezentand numarul de fisiere de date gasite. Pe urmatoarele $N$ linii se vor scrie, in ordine lexicografica, caile ce permit identificarea fisierelor gasite, in formatul: $F<sub>1</sub>\F<sub>2</sub>\...\F<sub>n</sub>\fisier$, cate o cale pe o linie.
Fisierul de iesire $dir.out$ va contine pe prima linie un numar natural $N$ reprezentand numarul de fisiere de date gasite. Pe urmatoarele $N$ linii se vor scrie, in ordine lexicografica, caile ce permit identificarea fisierelor gasite, in formatul: {$F{~1~}\F{~2~}\...\F{~n~}\fisier$}, cate o cale pe o linie.
h2. Restrictii
* Sirul de caractere ce codifica structura de fisiere este nevid si contine maxim 1600 de caractere.
* Sirul de caractere ce codifica structura de fisiere este nevid si contine maxim $1600$ de caractere.
* Structura de foldere contine cel putin un folder si cel putin un fisier.
* Numarul de fisiere de date este cel mult $100$.
* Lungimea caii unui fisier este de cel mult $255$ caractere.
* Sirul {$x<sub>1</sub>x<sub>2</sub>...x<sub>n</sub>$} este mai mic lexicografic decat sirul $y<sub>1</sub>y<sub>2</sub>...y<sub>m</sub>$, daca exista $k$ astfel incat $x<sub>1</sub>=y<sub>1</sub>,x<sub>2</sub>=y<sub>2</sub>,...,x<sub>k-1</sub>=y<sub>k-1</sub>$ si $(x<sub>k</sub><y<sub>k</sub>$ sau $k=n+1$).
* Sirul {$x{~1~}x{~2~}...x{~n~}$} este mai mic lexicografic decat sirul {$y{~1~}y{~2~}...y{~m~}$}, daca exista $k$ astfel incat {$x{~1~}=y{~1~},x{~2~}=y{~2~},...,x{~k-1~}=y{~k-1~}$} si ({$x{~k~}<y{~k~} sau k=n+1$}).
h2. Exemplu
== include(page="template/taskfooter" task_id="dir") ==
==SmfTopic(topic_id="...")==
 

Diferente intre securitate:

public
task: dir

Diferente intre topic forum:

 
2070