Треки
/
Java
Java
/
Вправи
/
Мишки в лабіринті
Мишки в лабіринті

Мишки в лабіринті

Складна

Вступ

Познайоммося з Міккі та Мінервою, двома кмітливими мишками, які люблять долати лабіринт у пошуках сиру. Вони раді складним завданням, але з їхніми крихітними мишачими мізками воліють, щоб до сиру вів лише один правильний шлях.

Вказівки

Згенеруйте ідеальні лабіринти для Мікі та Мінерви, тобто такі, що мають лише один розвʼязок і жодних ізольованих ділянок. Ось що варто знати:

  • Лабіринт має прямокутну форму з отвором на початку та в кінці.
  • Лабіринт складається з кімнат і проходів, які перетинаються під прямим кутом.
  • Програма повинна приймати два параметри: рядки та стовпці. Розмір лабіринту має бути від 5 до 100 комірок.
  • Лабіринт шириною x стовпців і висотою y рядків має бути 2x + 1 символів завширшки та 2y + 1 символів заввишки.
  • Якщо seed не вказано, має генеруватися випадковий лабіринт. Якщо той самий seed вказано кілька разів, лабіринт щоразу має бути однаковим.
  • Використовуйте псевдографічні символи для малювання стін, а символ стрілки (⇨) для входу ліворуч і виходу праворуч.

Настав час створити ідеальні лабіринти для цих відважних мишенят!

Приклади

  1. Маленький квадратний лабіринт 5x5 комірок (або 11x11 символів)

    ┌───────┬─┐
    │       │ │
    │ ┌─┬── │ │
    │ │ │   │ ⇨
    │ │ │ ──┤ │
    ⇨ │ │   │ │
    ┌─┤ └── │ │
    │ │     │ │
    │ │ ────┘ │
    │         │
    └─────────┘
    
  2. Прямокутний лабіринт 6x18 комірок

    ┌───────────┬─────────┬───────────┬─┐
    │           │         │           │ │
    │ ┌───────┐ │ ┌─┐ ──┐ └───┐ ┌───┐ │ │
    │ │       │ │ │ │   │     │ │   │   ⇨
    │ └─┐ ┌─┐ │ │ │ ├── ├───┐ │ │ ──┼── │
    │   │ │ │   │   │   │   │ │ │   │   │
    └── │ │ ├───┴───┤ ┌─┘ ┌─┘ │ ├── │ ──┤
    ⇨   │   │       │ │   │   │ │   │   │
    ┌─┬─┴─┐ └─┐ ┌─┐ │ └─┐ │ ┌─┘ │ ──┴─┐ │
    │ │   │   │ │ │ │   │   │   │     │ │
    │ │ │ └── │ │ │ └── │ ──┘ ┌─┘ ──┐ │ │
    │   │       │       │     │     │   │
    └───┴───────┴───────┴─────┴─────┴───┘
    
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Java Exercism

Час розпочати Мишки в лабіринті?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Java, а також 26 концепцій158 вправ та справжнє наставництво від людей, і все це безкоштовно.