Trilhas
/
Java
Java
/
Exercícios
/
Ratos do labirinto
Ratos do labirinto

Ratos do labirinto

Difícil

Introdução

Conheça Mickey e Minerva, dois ratinhos espertos que adoram percorrer um labirinto para encontrar queijo. Eles gostam de um bom desafio, mas, com apenas seus minúsculos cérebros de rato, preferem que haja só um caminho correto até o queijo.

Instruções

Sua tarefa é gerar os labirintos perfeitos para o Mickey e a Minerva: aqueles com apenas uma solução e sem seções isoladas. Veja o que você precisa saber:

  • O labirinto tem formato retangular, com uma abertura no início e no fim.
  • O labirinto tem salas e passagens, que se cruzam em ângulos retos.
  • O programa deve aceitar dois parâmetros: linhas e colunas. O labirinto deve ter entre 5 e 100 casas.
  • Um labirinto com x colunas de largura e y linhas de altura deve ter 2x + 1 caracteres de largura e 2y + 1 caracteres de altura.
  • Se nenhuma semente for fornecida, gere um labirinto aleatório. Se a mesma semente for fornecida várias vezes, o labirinto resultante deve ser o mesmo todas as vezes.
  • Use caracteres de desenho de caixas para desenhar as paredes, e um símbolo de seta (⇨) para a entrada à esquerda e a saída à direita.

É hora de criar alguns labirintos perfeitos para esses ratinhos aventureiros!

Exemplos

  1. Um labirinto quadrado pequeno de 5x5 casas (ou de 11x11 caracteres)

    ┌───────┬─┐
    │       │ │
    │ ┌─┬── │ │
    │ │ │   │ ⇨
    │ │ │ ──┤ │
    ⇨ │ │   │ │
    ┌─┤ └── │ │
    │ │     │ │
    │ │ ────┘ │
    │         │
    └─────────┘
    
  2. Um labirinto retangular de 6x18 casas

    ┌───────────┬─────────┬───────────┬─┐
    │           │         │           │ │
    │ ┌───────┐ │ ┌─┐ ──┐ └───┐ ┌───┐ │ │
    │ │       │ │ │ │   │     │ │   │   ⇨
    │ └─┐ ┌─┐ │ │ │ ├── ├───┐ │ │ ──┼── │
    │   │ │ │   │   │   │   │ │ │   │   │
    └── │ │ ├───┴───┤ ┌─┘ ┌─┘ │ ├── │ ──┤
    ⇨   │   │       │ │   │   │ │   │   │
    ┌─┬─┴─┐ └─┐ ┌─┐ │ └─┐ │ ┌─┘ │ ──┴─┐ │
    │ │   │   │ │ │ │   │   │   │     │ │
    │ │ │ └── │ │ │ └── │ ──┘ ┌─┘ ──┐ │ │
    │   │       │       │     │     │   │
    └───┴───────┴───────┴─────┴─────┴───┘
    
Editar via GitHub O link abre em uma nova janela ou aba
Java Exercism

Tudo pronto para começar Ratos do labirinto?

Crie sua conta no Exercism para aprender e dominar Java com 26 conceitos158 exercícios e mentoria humana de verdade, tudo de graça.