クイズ大陸



履歴 検索 最新 出題

No. 10≫ No.11 ≫No. 12
?みれい 2011/03/21 11:20
n段目の棚を開閉する動作を[n]、複数の棚を連続で開閉する動作を[a,b,c,…]と表現すると

<tt>                 1段目の棚の状態を反転:A1 = [1]
1段目の棚まで全て閉じているとき、2段目の棚の状態を反転:A2 = [1,2,1]
2段目の棚まで全て閉じているとき、3段目の棚の状態を反転:A3 = [1,2,1,3,1,2,1]</tt>

(n-1)段目の棚まで全て閉じているとき、n段目の棚の状態を反転する手順をAnとすると、
An = An-1 + [n] + An-1 と表ることができます。
また、Anを実行するのにかかる手数は 2n - 1 手であることも確認できます。

今回の問題では6段目の棚を開ける必要があります。
そのためには5段目の棚だけを開いた状態にする必要があるので、
6段目の棚を開けるまでの手順はA5 + [6]となります。

しかし、一つ上の棚が開いている状態では、すぐ上の棚が邪魔で箱は取り出せない。
よって、5段目の棚を閉じる動作も行う必要があります。
取り出せるようになるまでの手順は A5 + [6] + A4 + [5] 、手数は 31 + 1 + 15 + 1 = 48手。
※一般的に、n番目(n≧2)の棚から箱を取りだすためには、最短 3 × 2n / 4 手がかかるようです。

<tt>動かし方の図解。□:閉じた棚 ■:開いた棚
  ┌──           A5前半           ──┐
□  ■  □  ■  □  ■  □  ■  □
□ □  ■ ■ ■  □ □ □  ■ ■ ■  □ □
□→□→□→□→→■→■→■→■→■→■→■→→□→□→□→□┐ 16
□ □ □ □ □ □ □ □  ■ ■ ■ ■ ■ ■ ■ ■│
□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ 
□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □│
┌────────────────────────────────┘
│ ┌──           A5後半         ──┐ [6]
│  ■  □  ■  □  ■  □  ■  □
│ □  ■ ■ ■  □ □ □  ■ ■ ■  □ □
└→□→□→□→→■→■→■→■→■→■→■→→□→□→□→□┐ 32
  ■ ■ ■ ■ ■ ■ ■  □ □ □ □ □ □ □ □│
  ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■│
  □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ 
┌────────────────────────────────┘
│ ┌──           A4           ──┐ [5]
│  ■  □  ■  □  ■  □  ■  □
│ □  ■ ■ ■  □ □ □  ■ ■ ■  □ □
└→□→□→□→→■→■→■→■→■→■→■→→□→□→□→□  48
  □ □ □ □ □ □ □  ■ ■ ■ ■ ■ ■ ■ ■
  ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 
  ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■</tt>
編集