Avanzado · grafos, recursión
Contar islas
Escribe el procedimiento resolver(…) y regresa la respuesta. Límite: 100.000 operaciones por caso.
Un mapa es una cuadrícula de 1 (tierra) y 0 (agua). Una isla es un grupo de tierra unida arriba, abajo, a la izquierda o a la derecha (no en diagonal).
Escribe resolver(mapa), que regresa cuántas islas hay.
Ejemplos
Ejemplo 1
- Llamada
- resolver([[1, 1, 0, 0], [1, 0, 0, 1], [0, 0, 1, 1]])
- Regresa
- 2
Ejemplo 2
- Llamada
- resolver([[0, 0], [0, 0]])
- Regresa
- 0
Al enviar también se prueban 3 casos ocultos.
Pistas
Solución de referencia
Mírala cuando lo resuelvas, o si ya lo intentaste y te atoraste.