轨道
/
Java
Java
/
练习
/
迷宫小鼠
迷宫小鼠

迷宫小鼠

困难

简介

来认识一下 Mickey 和 Minerva 吧,这是两只聪明的小老鼠,它们喜欢在迷宫里穿行,寻找奶酪。它们喜欢挑战,但毕竟只有小小的老鼠脑袋,所以更希望通往奶酪的正确路径只有一条。

说明

你的任务是为 Mickey 和 Minerva 生成完美的迷宫:只有唯一解,而且没有孤立的区域。 下面是你需要知道的内容:

  • 迷宫是矩形,起点和终点各有一个开口。
  • 迷宫由房间和通道组成,它们以直角相交。
  • 程序应接受两个参数:行数和列数。迷宫的大小应在 5 到 100 个格子之间。
  • 宽为x列、高为y行的迷宫,宽度应为2x + 1个字符,高度应为2y + 1个字符。
  • 如果没有提供种子,就随机生成一个迷宫。如果多次提供同一个种子,每次生成的迷宫都应该相同。
  • 使用制表符号来绘制墙壁,并用箭头符号(⇨)表示左侧的入口和右侧的出口。

现在,为这两只爱冒险的老鼠创造一些完美的迷宫吧!

示例

  1. 一个 5x5 格的小正方形迷宫(即 11x11 个字符)

    ┌───────┬─┐
    │       │ │
    │ ┌─┬── │ │
    │ │ │   │ ⇨
    │ │ │ ──┤ │
    ⇨ │ │   │ │
    ┌─┤ └── │ │
    │ │     │ │
    │ │ ────┘ │
    │         │
    └─────────┘
    
  2. 一个 6x18 格的长方形迷宫

    ┌───────────┬─────────┬───────────┬─┐
    │           │         │           │ │
    │ ┌───────┐ │ ┌─┐ ──┐ └───┐ ┌───┐ │ │
    │ │       │ │ │ │   │     │ │   │   ⇨
    │ └─┐ ┌─┐ │ │ │ ├── ├───┐ │ │ ──┼── │
    │   │ │ │   │   │   │   │ │ │   │   │
    └── │ │ ├───┴───┤ ┌─┘ ┌─┘ │ ├── │ ──┤
    ⇨   │   │       │ │   │   │ │   │   │
    ┌─┬─┴─┐ └─┐ ┌─┐ │ └─┐ │ ┌─┘ │ ──┴─┐ │
    │ │   │   │ │ │ │   │   │   │     │ │
    │ │ │ └── │ │ │ └── │ ──┘ ┌─┘ ──┐ │ │
    │   │       │       │     │     │   │
    └───┴───────┴───────┴─────┴─────┴───┘
    
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Java Exercism

准备好开始 迷宫小鼠 了吗?

注册 Exercism,借助 26 个概念158 个练习 和真人导师指导,学习并掌握 Java,全部免费。