ヒューマン・リソース・マシーン 攻略 入社4年目 逆にして運んで
課題
左側のコンベアのパネルがなくなるまで、右側に運んでください。運ぶときはパネルが2つごとに逆になるように運んでください。
使用可能な命令
- inbox
- outbox
- copyfrom
- copyto
- jump
初出命令
copyfrom ※命令自体は既出だけど、初出挙動あり
指定した番号のカーペット上にあるパネルのコピーを手元に用意する。上に何も乗っていないカーペットを指定すると?
上司に怒られてお仕事中断(終了)。既に手にパネルがある状態で実施すると?
手に持っているパネルを捨てて、コピーを手元に用意する。copyto
手元のデータのコピーを指定した番号のカーペットの上に乗せる。パネルを手に持っていない状態で実施すると?
上司に怒られてお仕事中断(終了)。既にパネルが乗っているカーペットを指定すると?
乗っているパネルを捨てて新しいデータのコピーを乗せる。
効率目標
- サイズ:7行
- スピード:21ステップ
ヒント
その1
カーペットは一時的な退避場所として使える。 copytoで退避して、copyfromで再び拾う。
回答例 + 解説
サイズ + スピード
回答例 + 解説
ラベル1:// 1セットの開始位置 1. inbox 2. copyto 0 3. inbox 4. outbox 5. copyfrom 0 6. outbox 7. jump:ラベル1
今回もチュートリアル的な問題。今回はcopytoの使い方。 1つ目を拾ったら(inbox)、一旦カーペットに退避(copyto)して、2つ目を拾う(inbox) 2つ目を先に運んで(outbox)、退避した1つ目を再び拾って(copyfrom)、コンテナまで運ぶ(outbox) これを1セットとして、ひたすらに繰り返す(jump)