Los avisperos del vivero
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- rejillas
- textos
- ciclos
Enunciado
Don Aurelio tiene el vivero repartido en cuadros parejos, y este año le salieron avisperos entre los planteles. Antes de mandar a alguien a regar, quiere el mapa anotado: en cada cuadro libre, cuántos avisperos lo tocan.
Escribe una función que reciba vivero, una lista de textos del mismo largo. Cada texto es un renglón de cuadros: * es un cuadro con avispero y un espacio es un cuadro libre. El vivero mide a lo más 12 renglones por 12 cuadros, y puede venir vacío o con renglones vacíos. Regresa una lista de textos nueva, del mismo tamaño. Los * se quedan donde están, y cada cuadro libre lleva la cifra de cuántos de los ocho cuadros de alrededor tienen avispero: los cuatro de los lados y los cuatro de las esquinas. Un cuadro libre que no tiene ningún avispero alrededor se queda en espacio, no en 0.
Con [" ", " * ", " "] el avispero del centro toca los ocho cuadros de alrededor, así que regresas ["111", "1*1", "111"]. Con ["* *"] el cuadro de en medio no toca ninguno y se queda en espacio: ["*1 1*"].
Ejemplos
El avispero del centro
[" ", " * ", " "] → ["111", "1*1", "111"]
Un renglón con avisperos en las puntas
["* *"] → ["*1 1*"]
Un vivero sin avisperos
[" ", " ", " "] → [" ", " ", " "]
Puro avispero
["***", "***", "***"] → ["***", "***", "***"]
Un cuadro libre rodeado de avisperos
["***", "* *", "***"] → ["***", "*8*", "***"]
Dos avisperos en el mismo renglón
[" * * "] → ["1*2*1"]
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def marca_avisperos(vivero):
passJavaScript
function marcaAvisperos(vivero) {
}Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.
Más retos de O(n²)
- Los caballos del kancomparaciones · ciclos · listas
- Los caminos por la obrarecursión · rejillas · diccionarios
- Los camiones que pasaronlistas · comparaciones · condicionales
- Los charcos del patiorejillas · recursión · ciclos
- Los códices gemelosciclos · textos · índices
- Los dulces del campamentolistas · ciclos · comparaciones