.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » imagine

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
imagine


Timp maxim de execuţie / test:
0.1s
Memorie totala disponibilă / stivă:
2MB / 1MB

Să considerăm o imagine alb-negru de dimensiune L x L pixeli. Un pixel poate fi alb (codificat cu valoarea 0) sau negru (codificat cu valoarea 1). Imaginile pot fi compresate în diverse moduri. Una dintre cele mai cunoscute scheme de compresie este următoarea:
1. Dacă imaginea este formată atât din pixeli 1, cât şi din pixeli 0, se reţine valoarea 1, care indică faptul că imaginea va fi partiţionată în alte 4 subimagini, aşa cum este descris la pasul 2. Altfel codificăm întreaga imagine ca 00 sau 01 semnificând faptul că întreaga imagine este formată numai din pixeli 0, respectiv numai din pixeli 1.
2. O imagine I este împărţită în 4 subimagini A, B, C, D după cum este ilustrat în figura următoare:



Apoi se aplică din nou pasul 1, pentru fiecare dintre cele 4 subimagini, în ordinea A, B, C, D.
Numărul de biţi (cifre de 0 sau 1) obţinuţi în urma compresiei reprezintă dimensiunea imaginii compresate.

Cerinţă

Dată fiind o imagine, să se determine dimensiunea imaginii compresate.

Date de intrare

Fişierul de intrare imagine.in conţine pe prima linie L (dimensiunea imaginii). Urmăroarele L linii conţin imaginea codificată, fiecare linie conţinând exact L valori 0 sau 1 separate prin câte un spaţiu.

Date de ieşire

Fişierul de ieşire imagine.out conţine o singură linie pe care se află un număr natural care reprezintă dimensiunea imaginii compresate.

Restricţii

1<=L<=250

Exemple

imagine.inimagine.outExplicaţii
4 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1 30 Compresia imaginii din exemplul 1 se realizează astfel:



Deoarece după compresare sunt necesari 30 de biţi, dimensiunea imaginii compresate este 30.
8 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 Compresia imaginii din exemplul 2 se realizează astfel:



În acest caz dimensiunea imaginii compresate este 9.

autor: Prof. Marinel Şerban
propunător: Prof. Marinel Şerban
Liceul de Informatică “Grigore Moisil”
marinel_serban@yahoo.com
Articole recomandate
Probleme recomandate
De la OMI Iaşi 2005: cod4, cuburi3, cutii
De acelaşi autor: premii, finala, fractii, trei, manevre, nrcuv, an, vopsea, opmat, tramvai, bipal, kpal, sarpe, replace, factori, barca, perechi, grupe, cod, reactii, factura, decript, trenuri, holo, cifre, firma, tribile, mesaj, tricouri, pajura, monede, programs, fry, repeat, red, pavaj, bacan, nrbinar, invest, cutie2, loc, depou, nr3, zid, felinare, sir3, sqr, carte, labirint, stea, count, evaluare, super, schimb, zaruri, vectori, spirala, desen1, rima, ceas1, romane, sms, bac, excursia, joc7, furnici, munte1, cezar, marcare, excursie1, culmi, sume1, schi, nr4, fractie, cod3, medii, tren3, top, sant1, ocr, perfect, pluton, reforma, alee, ceas2, paritate, borcane, aranjare, comoara1, culmi1, reactivi, submult, sablon1, sir8, sume2, dansatori, smith, tom, matriosca, asociativ, control1, calorii, immortal, concat, mat, cubinvers, mine, divizori, cheie, stelar, joct, minmax, cladire, adunscad, razboi, ore, oras1, sumprod, prisme, operatii1, lgdrum, unupatru, chibrituri, extraprime, prieten, rebus1, grindina, opmult, betisoare, antitero, clase, pagini, ornament, ordine, spioni1
Despre Divide&Impera: zeratul, reactii, cartoane, stive, hanoi, patrate4, pav, banda, invsort, bile5, m4, xp, game1, compresie, descompunere, romb1
Despre recursivitate: tren, mere, chimie, sarpe, soldati, formule, infinit, compress, ploaia, cartoane, sub, metro, windows, lacuri, apel, maxq, pav, joc11, paianjen, suma2, monkey, csir, lsort, dir, desert, echitabil, rez, logic, gradina, links, dreptunghiuri, expresie1, cumpanit, reziston, antitero, sablon3
surse trimise | ajutor