Zászló
Geometrikus elemekből álló képeket (pl. a mellékelt dán zászlót) úgy tömöríthetünk, hogy
minden egyes sorában csupán azt írjuk le, hogy mi változott az előző sorához képest. Ehhez
az első sort azonos színű pontokból álló szakaszokra bontjuk (a példában az első sorban az 1. és a 3. pozíció között P, a 4. és 4. pozíció között F, az 5. és a 10. pozíció között
pedig P színű pontok vannak). Ezután csak azon sorokkal foglalkozunk, amelyek az előzőtől különböznek. Itt csak az előzőtől különböző részeket vizsgáljuk (a példában a 4. és 5. sor 1-3., illetve 5-10. pozíciója), amelyeket az első sorral megegyező módon kódolunk.
Feladat
Írj programot (ZASZLO.PAS, ...), amely egy képet a fenti "változás"-tömörítési eljárással tömörít!
Bemenet
A ZASZLO.BE szöveges állomány első sorában a kép sorai száma és oszlopai száma van, egyetlen szóközzel elválasztva. A következő sor mindegyike betűt tartalmaz, egy-egy szóközzel elválasztva. Az -edik sor -edik oszlopában a kép -edik sora -edik oszlopában levő képpont színét leiró nagybetű található.
Kimenet
A ZASZLO.KI szöveges állomány első sorába a kép sorai és oszlopai számát kell írni,
egyetlen szóközzel elválasztva! A következő sorok a kódolt képet tartalmazzák, soronként,
azon belül pedig oszloponként növekvő sorrendben. Ezekben három szám és egy betű van; jelentése: az -adik sorban a -edik pozíciótól a -edik pozícióig betű szerepelt a képen.
Példa
ZASZLO.BE | ZASZLO.KI |
7 10
P P P F P P P P P P
P P P F P P P P P P
P P P F P P P P P P
F F F F F F F F F F
P P P F P P P P P P
P P P F P P P P P P
P P P F P P P P P P
|
7 10
1 1 3 P
1 4 4 F
1 5 10 P
4 1 3 F
4 5 10 F
5 1 3 P
5 5 10 P
|
Tesztadatok