Detalii evaluare #54971539

Rezumat problemă

Se consideră un text memorat într-o matrice M, definită prin coordonatele colţului stânga sus (x1,y1) şi coordonatele colţului dreapta jos (x2,y2).

Prin aplicarea unui algoritm de compresie, matricei M i se asociază un şir de caractere, notat CM. Şirul de caractere CM este construit prin aplicarea următoarelor reguli:

  1. dacă matricea M are o singură linie şi o singură coloană atunci CM conţine numai caracterul memorat în matrice;
  2. dacă toate elementele matricei sunt identice atunci întreaga matrice M se comprimă şi CM este şirul kc, unde k reprezintă numărul de caractere din matrice, iar c caracterul memorat;
  3. dacă matricea este formată din caractere diferite şi are cel puţin două linii şi două coloane atunci:
    • matricea este împărţită în 4 submatrice A, B, C, D după cum este ilustrat în figura alăturată, unde coordonatele colţului stânga sus ale submatricei A sunt (x1,y1), iar coordonatele colţului dreapta jos sunt ((x2+x1)/2,(y2+y1)/2);
    • CM este şirul *CACBCCCD unde CA, CB, CC, CD sunt şirurile de caractere obţinute, în ordine, prin compresia matricelor A, B, C, D utilizând acelaşi algoritm;
  4. dacă matricea este formată din caractere diferite, are o singură linie şi mai multe coloane atunci CM este şirul *CACB unde A, B, CA, CB au semnificaţia descrisă la punctul 3.;
  5. dacă matricea este formată din caractere diferite, are mai multe linii şi o singură coloană atunci CM este şirul *CACC unde A, C, CA, CC au semnificaţia descrisă la punctul 3.;

Dat fiind şirul de caractere CM ce se obţine în urma aplicării algoritmului de compresie asupra unei matrice M de dimensiune NxN să se determine:

  1. numărul de împărţiri care au fost necesare pentru obţinerea textului compresat;
  2. matricea iniţială din care provine textul compresat.

Detalii

Problema Compresie Operații I/O compresie.in/compresie.out
Limita timp 0.5 secunde Limita memorie Total: 4 MB / Stivă 3 MB
Id soluție #54971539 Utilizator Pal-Şerban Natalia (Natalia_PalSerban)
Fișier compresie.cpp Dimensiune 1.70 KB
Data încărcării 14 Decembrie 2024, 11:03 Scor / rezultat 0 puncte

Evaluare


Mesaj compilare


Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde Raspuns gresit. 5 0
2 0 secunde Raspuns gresit. 5 0
3 0.004 secunde Raspuns gresit. 5 0
4 0.012 secunde Raspuns gresit. 5 0
5 0.02 secunde Raspuns gresit. 5 0
6 0.044 secunde Raspuns gresit. 5 0
7 0.048 secunde Raspuns gresit. 5 0
8 0.064 secunde Raspuns gresit. 5 0
9 0.084 secunde Raspuns gresit. 5 0
10 0.084 secunde Raspuns gresit. 5 0
11 0.056 secunde Raspuns gresit. 5 0
12 0.032 secunde Raspuns gresit. 5 0
13 0.092 secunde Raspuns gresit. 5 0
14 0.06 secunde Raspuns gresit. 5 0
15 0.056 secunde Raspuns gresit. 5 0
16 0.068 secunde Raspuns gresit. 5 0
17 0.088 secunde Raspuns gresit. 5 0
18 0.084 secunde Raspuns gresit. 5 0
19 0.08 secunde Raspuns gresit. 5 0
20 0.076 secunde Raspuns gresit. 5 0
Punctaj total 0

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Compresie face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.