Fill a Region
O imagine e o grilă de cifre, fiecare cifră fiind o culoare. Citește-o, apoi o celulă și o culoare nouă, și vopsește zona celulei cu culoarea nouă: celula însăși și fiecare celulă de aceeași culoare la care poți ajunge din ea, pășind doar pe celule vecine care au culoarea aceea. Apoi afișează imaginea.
Cum se scrie o grilă
Pe prima linie sunt numărul de rânduri și numărul de coloane. Urmează rândurile, de sus în jos, fiecare pe linia lui, fără spații. Rândurile și coloanele sunt numerotate de la 0. Două celule sunt vecine când au o latură comună: sus, jos, stânga sau dreapta, niciodată pe diagonală.
Codul de început citește deja imaginea în grila, unde grila[r][c] e celula de pe rândul r, coloana c, apelează umple_zona cu celula și culoarea nouă, apoi afișează imaginea. Tu scrii umple_zona, care vopsește celulele direct în grila primită.
Date de intrare
- Linia 1: numărul de rânduri și numărul de coloane, fiecare între 1 și 25.
- Următoarele linii: imaginea, câte o cifră de la
0la9pentru fiecare celulă. - Ultima linie: rândul
rși coloanacale celulei, apoi culoarea nouă, o cifră.
Rezultat
Rândurile imaginii după vopsire, câte unul pe linie.
Exemple
Intrare:
4 5
11221
12212
11112
33311
0 0 5
Ieșire:
55221
52252
55552
33355
1-ul din colțul din dreapta sus nu e vecin cu nicio celulă din zonă, așa că își păstrează culoarea.
Intrare:
2 2
12
21
0 0 1
Ieșire:
12
21
Celula are deja culoarea 1, așa că nu se schimbă nimic. Zona ei e doar celula însăși: celălalt 1 o atinge doar într-un colț.