Tracks
/
Java
Java
/
Ejercicios
/
Ratones laberínticos
Ratones laberínticos

Ratones laberínticos

Difícil

Introducción

Conoce a Mickey y Minerva, dos ratones muy listos a los que les encanta recorrer un laberinto para encontrar queso. Disfrutan de un buen desafío, pero con sus diminutos cerebros de ratón, prefieren que haya un solo camino correcto hacia el queso.

Instrucciones

Tu tarea es generar los laberintos perfectos para Mickey y Minerva: aquellos que tienen una sola solución y ninguna sección aislada. Esto es lo que necesitas saber:

  • El laberinto tiene forma rectangular con una abertura al inicio y al final.
  • El laberinto tiene salas y pasillos, que se cruzan en ángulo recto.
  • El programa debe aceptar dos parámetros: filas y columnas. El laberinto debe tener entre 5 y 100 celdas de tamaño.
  • Un laberinto que tiene x columnas de ancho y y filas de alto debe tener 2x + 1 caracteres de ancho y 2y + 1 caracteres de alto.
  • Si no se proporciona una semilla, genera un laberinto aleatorio. Si se proporciona la misma semilla varias veces, el laberinto resultante debe ser igual cada vez.
  • Usa caracteres de dibujo de cajas para dibujar las paredes, y un símbolo de flecha (⇨) para la entrada a la izquierda y la salida a la derecha.

¡Es hora de crear algunos laberintos perfectos para estos ratones aventureros!

Ejemplos

  1. Un laberinto cuadrado pequeño de 5x5 celdas (u 11x11 caracteres)

    ┌───────┬─┐
    │       │ │
    │ ┌─┬── │ │
    │ │ │   │ ⇨
    │ │ │ ──┤ │
    ⇨ │ │   │ │
    ┌─┤ └── │ │
    │ │     │ │
    │ │ ────┘ │
    │         │
    └─────────┘
    
  2. Un laberinto rectangular de 6x18 celdas

    ┌───────────┬─────────┬───────────┬─┐
    │           │         │           │ │
    │ ┌───────┐ │ ┌─┐ ──┐ └───┐ ┌───┐ │ │
    │ │       │ │ │ │   │     │ │   │   ⇨
    │ └─┐ ┌─┐ │ │ │ ├── ├───┐ │ │ ──┼── │
    │   │ │ │   │   │   │   │ │ │   │   │
    └── │ │ ├───┴───┤ ┌─┘ ┌─┘ │ ├── │ ──┤
    ⇨   │   │       │ │   │   │ │   │   │
    ┌─┬─┴─┐ └─┐ ┌─┐ │ └─┐ │ ┌─┘ │ ──┴─┐ │
    │ │   │   │ │ │ │   │   │   │     │ │
    │ │ │ └── │ │ │ └── │ ──┘ ┌─┘ ──┐ │ │
    │   │       │       │     │     │   │
    └───┴───────┴───────┴─────┴─────┴───┘
    
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Java Exercism

¿Todo listo para empezar Ratones laberínticos?

Regístrate en Exercism para aprender y dominar Java con 26 conceptos158 ejercicios y mentoría humana real, todo gratis.