(問題)
下記のルールに従って、「始」からスタートして、「終」まで行く最短の道を探してください。
- マスを斜めに進むことはできない。
- それまでの進行方向に対して、「右」のマスでは右折または直進、「左」のマスでは左折または直進ができるが、何も書かれていないマスでは直進しかできない。
- ゴールに着くまでの間に、同じマスを2回以上通ることができる。
┏━┳━┳━┳━┳━┳━┓ ┃ ┃左┃左┃ ┃左┃終┃ ┣━╋━╋━╋━╋━╋━┫ ┃ ┃右┃左┃右┃右┃ ┃ ┣━╋━╋━╋━╋━╋━┫ ┃右┃ ┃左┃右┃ ┃右┃ ┣━╋━╋━╋━╋━╋━┫ ┃左┃ ┃左┃ ┃右┃左┃ ┣━╋━╋━╋━╋━╋━┫ ┃ ┃右┃ ┃ ┃右┃ ┃ ┣━╋━╋━╋━╋━╋━┫ ┃始┃ ┃右┃左┃右┃ ┃ ┗━┻━┻━┻━┻━┻━┛支援ツール独立画面へ
ページ: 1 2
・ ・ ・ ・ ・ 終
・ 6 ・ 2:7 3 ・
・ ・ 9 8 ・ ・
・ ・ 10 ・ ・ 11
・ 5 ・ ・ 4 ・
始 ・ ・ 1 ・ ・
・ ・ ・ ・ ・ 終
・ 6 ・ 2:7 3 ・
・ ・ 9 8 ・ ・
・ ・ 10 ・ ・ 11
・ 5 ・ ・ 4 ・
始 ・ ・ 1 ・ ・
・ ・ ・ ・ ・ 終
・ 6 ・ 2:7 3 ・
・ ・ 9 8 ・ ・
・ ・ 10 ・ ・ 11
・ 5 ・ ・ 4 ・
始 ・ ・ 1 ・ ・
nyachimama さんを見習って、解いてみるかなぁ…
(私的には)いきなり Hard らしいけど、終から逆に辿ればほぼ一本道かな?
でも、(厳密には)唯一解ではないのか… (汗)
途中Aまで。
┏━┳━┳━┳━┳━┳━┓
┃ ┃左┃左┃ ┃左┃終┃
┣━╋━╋━╋━╋━╋━┫
┃ ┃右┃左┃→┃↓┃ ┃
┣━╋━╋━╋━╋━╋━┫
┃右┃ ┃左┃↑┃↓┃右┃
┣━╋━╋━╋━╋━╋━┫
┃左┃ ┃左┃↑┃↓┃左┃
┣━╋━╋━╋━╋━╋━┫
┃ ┃右┃ ┃↑┃A┃ ┃
┣━╋━╋━╋━╋━╋━┫
┃始┃→┃→┃↑┃右┃ ┃
┗━┻━┻━┻━┻━┻━┛
A以降。
┏━┳━┳━┳━┳━┳━┓
┃ ┃左┃左┃ ┃左┃終┃
┣━╋━╋━╋━╋━╋━┫
┃ ┃→┃→┃↓┃右┃↑┃
┣━╋━╋━╋━╋━╋━┫
┃右┃↑┃↓┃←┃ ┃↑┃
┣━╋━╋━╋━╋━╋━┫
┃左┃↑┃→┃→┃→┃↑┃
┣━╋━╋━╋━╋━╋━┫
┃ ┃↑┃←┃←┃←┃ ┃
┣━╋━╋━╋━╋━╋━┫
┃始┃ ┃右┃左┃右┃ ┃
┗━┻━┻━┻━┻━┻━┛
ただし、途中で下のループを何回まわっても良い。
┏━┳━┳━┳━┳━┳━┓
┃ ┃左┃左┃ ┃左┃終┃
┣━╋━╋━╋━╋━╋━┫
┃ ┃→┃→┃→┃↓┃ ┃
┣━╋━╋━╋━╋━╋━┫
┃右┃↑┃左┃右┃↓┃右┃
┣━╋━╋━╋━╋━╋━┫
┃左┃↑┃左┃ ┃↓┃左┃
┣━╋━╋━╋━╋━╋━┫
┃ ┃↑┃←┃←┃←┃ ┃
┣━╋━╋━╋━╋━╋━┫
┃始┃ ┃右┃左┃右┃ ┃
┗━┻━┻━┻━┻━┻━┛
問題文中に「最短の道」と入れてあるのは、ループを排除する意味ですから、「何回まわっても良い」わけではありませんよ。
ああ、なるほど。「最短の道」か…