Fişierul intrare/ieşire:zip.in, zip.outSursăGrigore Moisil 2008, clasele 11-12
AutorCsaba PatcasAdăugată deastronomyAirinei Adrian astronomy
Timp execuţie pe test0.025 secLimită de memorie4736 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Zip

Un student oarecare, la o facultate oarecare are de scris ca tema de casa la o materie oarecare un program de arhivare. Studentul si-a propus sa implementeze urmatorul algoritm:

  • Continutul fisierului de arhivat se imparte in M bucati avand exact K octeti
  • Pentru doua bucati consecutive se determina cea mai lunga secventa de octeti de la sfarsitul primei bucati, care apare si la inceputul celei de-a doua bucati
  • Arhivarea propriu-zisa se realizeaza prin scrierea bucatilor in fisier astfel incat secventele care apar si la sfarsitul bucatii curente si la inceputul bucatii urmatoare sa apara o singura data

Din cauza unei erori in program intre bucatile fisierului s-au strecurat si alte bucati, tot de lungime K, iar ordinea bucatilor s-a schimbat si ea. De asemenea, daca au existat bucati identice in fisierul initial, este posibil ca acestea sa apara de mai putine ori, in urma erorii.

Cerinta

Arhivati fisierului initial, stiind ca acesta este format din bucatile care conduc la o arhivare optima in sensul ca fisierul rezultat dupa arhivare are lungime minima.

Date de intrare

Pe prima linie a fisierului de intrare zip.in se afla trei numere naturale: N (numarul total al bucatilor care au fost obtinute de catre programul studentului), M (numarul bucatilor in fisierul initial) si K (lungimea in octeti a bucatilor). Cele trei numere sunt separate prin cate un spatiu. Pe urmatoarele N linii se afla cate K caractere, formand bucatile obtinute de catre student.

Date de iesire

In fisierul de iesire zip.out se va scrie lungimea fisierului arhivat.

Restrictii

  • 1 ≤ M ≤ N ≤ 100
  • 1 ≤ K ≤ 100

Exemplu

zip.inzip.out
5 2 4
rado
dora
arad
oboa
aaaa
5

Explicatie

Fisierul initial a fost format din bucatile arad si rado. Cea mai lunga secventa care satisface conditiile este rad, deci forma arhivata a fisierului va fi arado, avand cinci octeti.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content