Te pedimos que hagas un programa que sea capaz de pintar
encima de un dibujo (una cuadrícula de caracteres). En concreto, cuando
pintas con un color (pongamos, la letra ‘C’) encima de una
casilla de otro color (pongamos, la letra ‘z’), esta
casilla pasará a tener color ‘C’. Lo mismo pasará con todas
las casillas ‘z’ que sean adyacentes a la primera
‘z’, y con las casillas ‘z’ adyacentes a estas
segundas ‘z’, etc. Las letras que no sean ‘z’
actuarán como paredes que evitan que la pintura se expanda.
¿Eres capaz de programar esto?
Un número con el tamaño del tablero cuadrado. A continuación, una línea con una letra mayúscula (el color con el que pintas) seguido de dos coordenadas , con la fila y columna de la casilla donde se empieza pintando. Por último, filas de caracteres cada una, todos ellos letras minúsculas, con el contenido inicial del tablero.
Escribe como queda el tablero después de ser pintado. Mira los ejemplos para resolver posibles dudas.
Test1:
Entradas con y la pintura nunca tocará el borde del tablero.
Test2:
Entradas con y la pintura nunca tocará el borde del tablero.
Test3: Entradas con .
Test4: Entradas con .
Test5: Entradas con .
Input
4 C 2 2 oooo ozzo ozzo oooo
Output
oooo oCCo oCCo oooo
Input
6 P 2 2 oooooo ozzzzo ommmzo ozmzzo ozmmmo oooooo
Output
oooooo oPPPPo ommmPo ozmPPo ozmmmo oooooo
Input
10 I 9 9 mmmmmmmmmm miiiiimiim miiimmimim miiiiimmim mmmmmiiiim miiimimmmm miiimimiim miiimimmmm miimiiiiim mmmmmmmmmm
Output
mmmmmmmmmm mIIIIImIIm mIIImmimIm mIIIIImmIm mmmmmIIIIm miiimImmmm miiimImiim miiimImmmm miimIIIIIm mmmmmmmmmm
Input
5 A 2 2 aaaba aaabb aaaaa abaaa aaaba
Output
AAAba AAAbb AAAAA AbAAA AAAbA
Input
5 A 2 2 aaaba ababb aaaaa abaaa aaaba
Output
aaaba aAabb aaaaa abaaa aaaba