Vėliavos

Taškai: 12

Kompiuterių paveikslai sudaryti iš taškelių, vadinamų pikseliais. Kiekvieno pikselio spalva koduojama atskirai.

Taškinės grafikos formatas GIW skirtas duomenims glaudinti pagal štai tokį algoritmą: 
•    koduojamas kiekvienas pikselis; 
•    kiekviena spalva koduojama trimis raidėmis; 
•    tos pačios spalvos pikselių seka koduojama, skliaustuose nurodant spalvos kodo santrumpą ir tos spalvos pikselių skaičių.
Pavyzdys. Pikselių eilutė, kurios pradžioje yra 20 žalių pikselių, paskui – 13 baltų, koduojama šitaip: (žal,20)(bal,13).

Pateikti keturių vėliavų paveikslai. Jie sudaryti iš tiek pat pikselių eilučių ir tiek pat pikselių. Paveikslai suglaudinami GIW formatu.

Išrikiuokite vėliavų paveikslus nuo didžiausio iki mažiausio suglaudinto failo. Tempkite vėliavas į tuščius langelius. Viršuje turi būti didžiausio suglaudinto failo vėliava.

Paaiškinimas

Duomenų glaudinimas – svarbi informatikos dalis, nes tai sumažina užimtą kompiuterio atminties dalį, bendrą tinklo srautą ir duomenų perdavimo laiką. Duomenų glaudinimo algoritmai gali sumažinti kaštus, tad ieškoma efektyvių algoritmų glaudinti nuotraukas, garso ir vaizdo failus, nes jie užima ypatingai daug atminties.

Uždavinyje pateiktas duomenų glaudinimas vadinamas pasikartojimų kodavimu (angl. run length encoding, RLE). Apie jį daugiau galima sužinoti pažiūrėjus vaizdo įrašą.

Reikšminiai žodžiai: glaudinimas, glaudinimo algoritmas, taškinė grafika.

Atsakymas
Atsakymas:

Jei visa eilutė sudaryta iš vienos spalvos, tai joje yra tik vieni skliausteliai, aprašantys visą eilutę. Kiekvienoje eilutėje yra tiek skliaustų, kiek spalvų pasikeitimų.
Pavyzdžiui, Vokietijos vėliavoje visos eilutės sudarytos iš vienos spalvos pikselių, todėl suglaudintame faile kiekviena eilutė bus aprašome tik vienais skliaustais.
Čekijos vėliavoje kiekvienoje eilutėje spalvos keičiasi tik vieną kartą, todėl jos suglaudintame faile visose eilutėse bus po du skliaustelius.
Prancūzijos vėliavos kiekvienoje eilutėje yra po du spalvų pasikeitimus: mėlyną keičia balta, o baltą – mėlyna. Todėl kiekvienos eilutės kodavimui reikės trijų skliaustelių. 
Švedijos vėliava yra sudėtingesnė. Jos viduryje spalvos nesikeičia, todėl šią sritį aprašančių eilučių kodavimui užteks vienų skliaustelių. Kitose srityse spalvos keičiasi po du kartus: geltoną keičia mėlyna, o mėlyną – geltona. Kiekvienai šios srities eilutei koduoti reikės trijų skliaustelių. Akivaizdu, kad Švedijos vėliavos koduoti reikės daugiau skliaustelių nei Vokietijos, bet mažiau nei Prancūzijos.
Palyginkime Švedijos ir Čekijos vėliavas. Jei Švedijos vėliavoje būtų toks pat skaičius vienos spalvos eilučių kaip ir eilučių su dviem spalvų pasikeitimais, tai tuomet kiekvienai eilutei vidutiniškai tektų po du skliaustelius (tiek pat, kaip ir Čekijos vėliavoje). Kadangi viduryje vėliavos esanti geltona juosta yra siauresnė už likusią dalį, tai eilučių su dviem spalvos pasikeitimais yra daugiau, nei vienos spalvos. Taigi, Švedijos vėliavos suglaudintas failas turės daugiau skliaustelių nei Čekijos vėliavos failas.
Interaktyvi užduotis

 

 
Informacija atnaujinta 2016-10-18 10:55:36