Un tablero de luces

Como ejemplo final, imaginemos que nuestro tablero está lleno de luces que están prendidas o apagadas. Vamos a decir que las celdas con una bolita verde están prendidas y las celdas con una bolita negra están apagadas.

Escribí un procedimiento PrenderOApagarLuz() que se encargue de prender las luces que estén apagadas o apagar las luces encendidas, según corresponda.

¡Dame una pista!

Apagar una celda implica dos cosas: sacar una bolita verde y agregar una negra; lo mismo para prender pero en sentido inverso.

Para saber si está prendida o no, basta con fijarse si hay bolitas del color que querramos.

  • Por ejemplo, acá la luz está prendida y al invocar PrenderOApagarLuz() se apaga:
Inicial Final
GBB/1.0 size 2 2 cell 0 0 Verde 1 cell 1 0 Verde 1 cell 0 1 Verde 1 cell 1 1 Verde 1 head 0 0 GBB/1.0 size 2 2 cell 0 0 Negro 1 cell 1 0 Verde 1 cell 0 1 Verde 1 cell 1 1 Verde 1 head 0 0
  • En cambio, acá está apagada y con tu procedimiento se prende:
Inicial Final
GBB/1.0 size 2 2 cell 0 0 Negro 1 cell 1 0 Negro 1 cell 0 1 Verde 1 cell 1 1 Verde 1 head 0 0 GBB/1.0 size 2 2 cell 0 0 Verde 1 cell 1 0 Negro 1 cell 0 1 Verde 1 cell 1 1 Verde 1 head 0 0

Tenés que iniciar sesión antes de empezar a enviar tus soluciones