Track
/
Java
Java
/
Esercizi
/
Topi del labirinto
Topi del labirinto

Topi del labirinto

Difficile

Introduzione

Conosci Mickey e Minerva, due topi astuti che amano orientarsi in un labirinto per trovare il formaggio. Amano le belle sfide, ma con il loro minuscolo cervello di topolino preferiscono che ci sia un solo percorso corretto verso il formaggio.

Istruzioni

Il tuo compito è generare i labirinti perfetti per Mickey e Minerva: quelli con una sola soluzione e senza sezioni isolate. Ecco cosa devi sapere:

  • Il labirinto ha una forma rettangolare con un'apertura all'inizio e alla fine.
  • Il labirinto ha stanze e passaggi, che si intersecano ad angolo retto.
  • Il programma deve accettare due parametri: rows e columns. Il labirinto deve avere una dimensione compresa tra 5 e 100 celle.
  • Un labirinto largo x colonne e alto y righe deve essere largo 2x + 1 caratteri e alto 2y + 1 caratteri.
  • Se non viene fornito un seed, genera un labirinto casuale. Se lo stesso seed viene fornito più volte, il labirinto risultante deve essere ogni volta lo stesso.
  • Usa i caratteri di disegno a riquadri per disegnare i muri e un simbolo a freccia (⇨) per l'entrata a sinistra e l'uscita a destra.

È ora di creare dei labirinti perfetti per questi topi avventurosi!

Esempi

  1. Un piccolo labirinto quadrato di 5x5 celle (o 11x11 caratteri)

    ┌───────┬─┐
    │       │ │
    │ ┌─┬── │ │
    │ │ │   │ ⇨
    │ │ │ ──┤ │
    ⇨ │ │   │ │
    ┌─┤ └── │ │
    │ │     │ │
    │ │ ────┘ │
    │         │
    └─────────┘
    
  2. Un labirinto rettangolare di 6x18 celle

    ┌───────────┬─────────┬───────────┬─┐
    │           │         │           │ │
    │ ┌───────┐ │ ┌─┐ ──┐ └───┐ ┌───┐ │ │
    │ │       │ │ │ │   │     │ │   │   ⇨
    │ └─┐ ┌─┐ │ │ │ ├── ├───┐ │ │ ──┼── │
    │   │ │ │   │   │   │   │ │ │   │   │
    └── │ │ ├───┴───┤ ┌─┘ ┌─┘ │ ├── │ ──┤
    ⇨   │   │       │ │   │   │ │   │   │
    ┌─┬─┴─┐ └─┐ ┌─┐ │ └─┐ │ ┌─┘ │ ──┴─┐ │
    │ │   │   │ │ │ │   │   │   │     │ │
    │ │ │ └── │ │ │ └── │ ──┘ ┌─┘ ──┐ │ │
    │   │       │       │     │     │   │
    └───┴───────┴───────┴─────┴─────┴───┘
    
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Java Exercism

Vuoi iniziare Topi del labirinto?

Iscriviti a Exercism per imparare e padroneggiare Java con 26 concetti158 esercizi e il mentoring di persone reali, tutto gratis.