Az I/S. 51. feladat (2021. február) |
I/S. 51. Adott egy kép, amit egy \(\displaystyle N\) sorból és \(\displaystyle M\) oszlopból álló pixelrács reprezentál. Jelöljük az \(\displaystyle i\)-edik sor \(\displaystyle j\)-edik pixelét \(\displaystyle P[i][j]\)-vel. Minden pixel három különböző értéket vehet fel: \(\displaystyle \texttt{R}=\text{piros}\), \(\displaystyle \texttt{G}=\text{zöld}\), \(\displaystyle \texttt{B}=\text{kék}\). A képeknél elég ritka, hogy egy \(\displaystyle P[i][j]\) pixel egyik élszomszédja sem azonos színű a \(\displaystyle P[i][j]\) pixellel, ezért ezeket gyanús pixeleknek hívjuk. Hibás pixelnek nevezzük azokat, amelyek gyanúsak, és egyik élszomszédjuk sem gyanús. Készítsünk programot, amely megadja a hibás pixelek számát.
Bemenet: az első sor tartalmazza az \(\displaystyle N\) és az \(\displaystyle M\) számot. A következő \(\displaystyle N\) sor mindegyike a pixelrács egy adott sorát reprezentálja. Minden sor pontosan \(\displaystyle M\) karakterből áll, ezek értéke lehet R, G vagy B. Az \(\displaystyle i\)-edik sor \(\displaystyle j\)-edik betűje a kép \(\displaystyle P[i][j]\) pixelét írja le.
Kimenet: Adjuk meg a hibás pixelek számát.
Példa:
Bemenet (a / jel sortörést helyettesíti) | Kimenet |
4 4 / RRGB / RRRB / RRGG / RGRB | 1 |
Magyarázat: a \(\displaystyle P[1][3]\), \(\displaystyle P[4][2]\), \(\displaystyle P[4][3]\), \(\displaystyle P[4][4]\) pixelek gyanúsak, melyek közül csak a \(\displaystyle P[1][3]\) hibás.
Korlátok: \(\displaystyle 3\le N,M\le 100\), \(\displaystyle P[i][j] =\texttt{R}\) vagy G vagy B. Időkorlát: 0,4 mp.
Értékelés: a pontok 50%-a kapható, ha tudjuk, hogy minden gyanús pixel hibás.
Beküldendő egy is51.zip tömörített állományban a megfelelően dokumentált és kommentezett forrásprogram, amely tartalmazza a megoldás lépéseit, valamint megadja, hogy a program melyik fejlesztői környezetben futtatható.
(10 pont)
A beküldési határidő 2021. március 16-án LEJÁRT.
Először vizsgáljuk meg minden pixelre, hogy gyanús-e.
Ezután ha gyanús pixelnek van gyanús szomszédja, akkor nem hibás, egyébként az.
A kép széleinél figyeljünk oda, hogy ne indexeljünk ki.
Statisztika:
15 dolgozat érkezett. 10 pontot kapott: Bagladi Milán Zsolt, Horcsin Bálint, Kovács Alex, Melján Dávid Gergő, Orosz Réka Ildikó, Tóth 057 Bálint, Tuba Balázs, Varga 256 Péter. 9 pontot kapott: Sándor Péter, Tibor Varga. 8 pontot kapott: 1 versenyző. 6 pontot kapott: 1 versenyző. 4 pontot kapott: 1 versenyző. 3 pontot kapott: 1 versenyző. 1 pontot kapott: 1 versenyző.
A KöMaL 2021. februári informatika feladatai