トラック
/
Java
Java
/
演習
/
迷路のネズミたち
迷路のネズミたち

迷路のネズミたち

上級

はじめに

ミッキーとミネルバは、迷路を進んでチーズを見つけるのが大好きな、かしこい2匹のネズミです。難しい挑戦も楽しみますが、小さなネズミの脳みそしか持たない2匹は、チーズへたどり着く正しい道が1つだけであるほうがありがたいと思っています。

説明

ミッキーとミネルバのために、完璧な迷路を作ってあげましょう。解が1つだけで、孤立した区画がない迷路のことです。 知っておくべきことは、次のとおりです。

  • 迷路は長方形で、始点と終点に開いた入口があります。
  • 迷路には部屋と通路があり、それらは直角に交わります。
  • プログラムは、行と列という2つの仮引数を受け取ります。迷路の大きさは、5マス以上100マス以下とします。
  • 幅がx列、高さがy行の迷路は、幅が2x + 1文字、高さが2y + 1文字になります。
  • シードを指定しない場合は、ランダムな迷路を生成します。同じシードを複数回指定した場合は、毎回同じ迷路が生成されます。
  • 壁を描くには罫線素片を使い、左側の入口と右側の出口には矢印記号(⇨)を使います。

さあ、冒険好きなこのネズミたちのために、完璧な迷路を作りましょう!

例

  1. 小さな正方形の迷路、5x5マス(11x11文字)

    ┌───────┬─┐
    │       │ │
    │ ┌─┬── │ │
    │ │ │   │ ⇨
    │ │ │ ──┤ │
    ⇨ │ │   │ │
    ┌─┤ └── │ │
    │ │     │ │
    │ │ ────┘ │
    │         │
    └─────────┘
    
  2. 長方形の迷路、6x18マス

    ┌───────────┬─────────┬───────────┬─┐
    │           │         │           │ │
    │ ┌───────┐ │ ┌─┐ ──┐ └───┐ ┌───┐ │ │
    │ │       │ │ │ │   │     │ │   │   ⇨
    │ └─┐ ┌─┐ │ │ │ ├── ├───┐ │ │ ──┼── │
    │   │ │ │   │   │   │   │ │ │   │   │
    └── │ │ ├───┴───┤ ┌─┘ ┌─┘ │ ├── │ ──┤
    ⇨   │   │       │ │   │   │ │   │   │
    ┌─┬─┴─┐ └─┐ ┌─┐ │ └─┐ │ ┌─┘ │ ──┴─┐ │
    │ │   │   │ │ │ │   │   │   │     │ │
    │ │ │ └── │ │ │ └── │ ──┘ ┌─┘ ──┐ │ │
    │   │       │       │     │     │   │
    └───┴───────┴───────┴─────┴─────┴───┘
    
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Java Exercism

迷路のネズミたちを始める準備はできましたか?

Exercismに登録すれば、26個のコンセプト158個の演習、そして本物の人間によるメンタリングとともに、Javaを学んでマスターできます。すべて無料です。